Skip to content

Command reference

{/_ GENERATED by tools/help/generate-cli-reference.mjs — do not edit by hand. _/}

This page is generated from the command line parser itself, so it cannot disagree with the program. tcc <command> --help prints the same information at the terminal.

180 commands, 89 flags. Angle brackets are required, square brackets optional.

These may be given on any command.

  • --account — Act as another account on this desktop, for this command only
  • --dry-run — Preview without making changes (mutating commands only)
  • --db, -e, --env — Which backend to talk to (local/dev/prod)
  • --json, -j — Output as JSON (machine-readable)
  • --quiet, -q — Suppress non-essential output
  • --server — Override remote tcc daemon URL for this invocation. Mirrors the TCC_REMOTE_URL env var. Useful in shell pipelines / CI where exporting env vars is awkward. Pair with --token
  • --token — API token (tc_live_* / tc_test_*) for the remote daemon. Mirrors the TCC_API_TOKEN env var. Required whenever --server is set (or the env equivalent)
  • --verbose, -v — Include full API response in output

Accounts on this desktop, and this account’s lifecycle

Delete this account and everything in it. IRREVERSIBLE

Remove an account from this desktop

Arguments

  • <id_or_email> — Account id, or the address it signs in with

List the accounts signed in on this desktop (default)

Open a page of the account portal, signed in (prints a one-time link)

Arguments

  • [target] — The portal page, e.g. account or emails — Default account

Switch which account this desktop acts as

Arguments

  • <id_or_email> — Account id, or the address it signs in with

Manage server-side API tokens (for programmatic platform access)

Generate a new server-side API token

Arguments

  • <name> — Descriptive name (e.g. ‘CI pipeline’)

Flags

  • --scopes — Comma-separated scopes (optional)

List all server-side API tokens

Revoke a server-side API token by ID

Arguments

  • <id> — Token ID (from list output)

Ask the assistant one question

Arguments

  • [message] — What to ask, e.g. “what is Mark’s code”

Flags

  • --answer — Answer a question from a previous —json run with this value (a choice’s value, or free text); needs —envelope
  • --envelope — The data.ask JSON the previous run printed — a file, or - for stdin

Rate an answer the assistant gave

Arguments

  • <chat_log_id> — The id the answer carried in data.chatLogId
  • <rating> — helpful | not_helpful

Authentication (login, logout, status)

Adopt a session from stdin, without a browser

Sign in: opens the browser, or with —code uses the code from the sign-in mail

Flags

  • --code — Sign in with the code from the sign-in mail instead of the browser
  • --email — The address to send the code to (asked for when absent)

Clear keychain tokens

Show auth state

Print access token (pipe-friendly)

TOTP code operations

List all connections’ codes

Show rotation timing

Show the current 3-word code for a name — a connection or a guest code

Arguments

  • <name> — Connection name or guest-code label (partial match works)

Flags

  • --kind — Only one kind: connection or guest
  • --lang — Language override

Configuration

Remove the persisted remote daemon — subsequent CLI calls run against the local daemon (if up) or in standalone mode

Create an API token for HTTP server access

Flags

  • --label — Label for the token (e.g., “claude-ai”, “chatgpt”)
  • --scope — Token scope: read, write, or full
  • --ttl-hours — TTL in hours (omit for no expiry — localhost only)

List all API tokens (masked)

Reset device — clear all user data and re-register on next use

Revoke an API token by label

Arguments

  • <label> — Token label

Persist a remote tcc daemon as the default routing target. Writes to ~/.config/tcc/config.toml; reads on every CLI invocation unless overridden by --server flag or TCC_REMOTE_URL env var. Symmetric with git config / kubectl config use-context

Arguments

Flags

  • --token — API token (tc_live_* / tc_test_*) to pair with this URL — required

Get or set the global keyboard shortcut for signing Examples: tcc config shortcut “CmdOrCtrl+Shift+S”

Arguments

  • [value] — New shortcut (e.g. “CmdOrCtrl+Shift+S”). Omit to show current

Show current configuration

Show a specific API token by label (full value)

Arguments

  • <label> — Token label

Print the currently persisted remote daemon URL (token masked)

Connect via open link

Arguments

  • <slug> — Open link slug (e.g., “stefan/my-link”)

Manage existing connections

Add a member

Arguments

  • <email> — Email of person to add
  • <id> — Connection ID

Set connection avatar from a local image file

Arguments

  • <id> — Connection ID
  • <path> — Path to a JPEG, PNG, WEBP or GIF file

Change how identity codes work for this connection

Arguments

  • <id> — Connection ID
  • <mode> — Mode: dedicated (words that belong to this connection only) or shared (everyone in it says the same words)

Delete a connection

Arguments

  • <id> — Connection ID

Toggle favorite

Arguments

  • <id> — Connection ID

List connections with tags

Show members

Arguments

  • <id> — Connection ID

Remove connection avatar

Arguments

  • <id> — Connection ID

Remove a member

Arguments

  • <id> — Connection ID
  • <member_id> — Member ID (from members)

Transfer ownership to another member

Arguments

  • <id> — Connection ID
  • <new_owner_id> — New owner’s member ID (from members)

Update connection settings (name, language, rotation, description)

Arguments

  • <id> — Connection ID

Flags

  • --description — Description
  • --lang — New language
  • --name — New name
  • --rotation-hours — Rotation period in hours (e.g. 1, 6, 24, 168 for weekly)

Headless background daemon (Linux servers / CI)

Install and enable as a systemd user service (Linux only)

Start the headless daemon (HTTP + MCP server + background sync)

Show daemon status

Stop the running daemon

Device management (register, recover, status)

Every device signed in to this ACCOUNT — not just this one

Enter recovery code to bootstrap E2EE

Regenerate recovery words (new words, same key)

Flags

  • --lang — Language for recovery words (en, de, es, fr, it, nl)

Generate keypair and register with server

Sign a device out of this account

Arguments

  • <device_id> — Device ID (from tcc device list)

Flags

  • --confirm-last-key-holder — Remove it even when it is the last device that holds the account key

Create recovery words (first/only device)

Flags

  • --lang — Language for recovery words (en, de, es, fr, it, nl)

Show device registration state

Email addresses on this account

Remove an address

Arguments

  • <id> — Email ID (from tcc email list)

List every address on this account

Send a verification code to an address

Arguments

  • <address> — The address to verify

Make an address the one shown to connections

Arguments

  • <id> — Email ID (from tcc email list)

Make an address the primary one

Arguments

  • <id> — Email ID (from tcc email list)

Enter the code that was emailed to an address

Arguments

  • <address> — The address
  • <code> — The code from the email

Data export — ask for a copy of everything this account holds

Remove every export this account has asked for

Get a signed, expiring link to one finished export

Arguments

  • <export_id> — Export ID (from tcc export list)

The exports this account has asked for, ready or not

Ask the server to build an export

External members (PWA for non-app users)

Add an external member (non-app user)

Arguments

  • <email> — Email address
  • <name> — Person’s name

Flags

  • --lang — Code language
  • --tag — Custom connection name

List all external members

Revoke an external member’s access

Arguments

  • <member_id> — Member ID

Send feedback to the team. Emails them, so it is CLI-only

Arguments

  • <category> — bug | feature | general
  • <message> — What you want to say (10-2000 characters)

Flags

  • --rating — Optional satisfaction score, 1-5

Guest codes (for non-app users)

Create a guest code

Arguments

  • <name> — Person’s name

Flags

  • --expires — Hours until expiry
  • --lang — Code language

List all guest codes

Generate a QR code for a guest code

Arguments

  • <id> — Guest code ID (from list/create)

Revoke a guest code

Arguments

  • <id> — Guest code ID (from list)

Search guest codes by name

Arguments

  • <query> — Search query

Send a guest code by email

Arguments

  • <id> — Guest code ID (from list/create)

Flags

  • --to — Recipient email — required

Put tcc on your PATH so the application and the command line are one program

Flags

  • --force — Replace an existing tcc that points somewhere else

Create connections and manage invitations

Accept an invitation addressed to you

Arguments

  • <id> — Invitation ID

Flags

  • --force — Accept although the invitation names a different address

Accept a federated invitation (a row pushed here by another node)

Arguments

  • <id> — Pending invitation ID

Approve someone else’s request to join a connection you own

Arguments

  • <id> — Invitation ID

Decline an invitation

Arguments

  • <id> — Invitation ID

Decline a federated invitation

Arguments

  • <id> — Pending invitation ID

List federated invitations waiting for this account

List all invitations

List pending approval requests

Extend a pending invitation’s expiry

Arguments

  • <id> — Invitation ID

Create a connection and send invitations

Arguments

  • <name> — Connection name

Flags

  • --duration — Auto-delete after hours (-1 = never)
  • --lang — Code language
  • --message — Personal message in invitation email
  • --tags — Tags (comma-separated)
  • --to — Email address(es) — comma-separated for multiple

Withdraw a sent invitation

Arguments

  • <id> — Invitation ID

Manage shareable open links

Approve a request

Arguments

  • <id> — Request ID

Change link address

Arguments

  • <id> — Link ID
  • <slug> — New slug

Create an open link

Flags

  • --approval — Approval mode: auto or manual
  • --slug — Custom slug

Decline a request

Arguments

  • <id> — Request ID

Delete a link

Arguments

  • <id> — Link ID

List all open links

Pause a link

Arguments

  • <id> — Link ID

List pending connection requests

Resume a link

Arguments

  • <id> — Link ID

Suggest available link names

Check if an email is on Trusted Codes

Arguments

  • <email> — Email address to check

MCP integration with AI apps

Add Trusted Codes to an AI app

Arguments

  • [app] — AI app to configure (claude-desktop, claude-code, cursor)

Remove Trusted Codes from an AI app

Arguments

  • <app> — AI app to remove from (claude-desktop, claude-code, cursor)

Show which AI apps have Trusted Codes configured

View and manage notifications

Delete notifications

Arguments

  • [ids] — Notification IDs

List recent notifications

Flags

  • --limit — Max number to show
  • --unread — Only show unread

Mark notifications as read

Arguments

  • [ids] — Notification IDs

Which organisation you act in, and switching between them

Which organisation is active for this session, and what it allows

Act in an organisation, or return to personal context

Arguments

  • [organization_id] — Organisation id. Omit with —personal to clear the choice

Flags

  • --personal — Act as yourself rather than in any organisation

One-time codes: three words, valid for one hour, one use

Flags

  • --lang — Code language: en | de | es | fr | it | nl
  • --wait <value> — A new computer is trusted by the server after about 3 minutes: keep trying for up to this many seconds (bare --wait = 240)

Allow the page that claimed your generator words

Arguments

  • <id> — The pairing id (from tcc otp devices)

Deny the page that claimed your generator words

Arguments

  • <id> — The pairing id (from tcc otp devices)

List the devices that make your codes, and a page waiting for your decision

Make the words for a code generator page

Flags

  • --lang — Language of the three words

List your codes

Make a one-time code (the default): prints the three words and the link

Flags

  • --lang — Code language: en | de | es | fr | it | nl
  • --wait <value> — Keep trying for up to this many seconds while the server starts to trust this computer (bare --wait = 240)

Remove a device (its open codes stop working)

Arguments

  • <id> — The device’s install id (from tcc otp devices)

Withdraw a code that is not used yet

Arguments

  • <id> — The code’s id (from tcc otp list --json)

What this account’s plan allows — features, limits and choices

Flags

  • --refresh — Ask the server rather than answering from the local database

View/change notification preferences

Reset to defaults

Toggle a notification channel

Arguments

  • <channel> — Channel: email, push, or in_app
  • <topic> — Topic (e.g., invitation_received, security_alert)

Flags

  • --enabled — On or off

Show notification preferences

Manage connection presets (templates)

Create a preset

Arguments

  • <name> — Preset name

Flags

  • --duration — Auto-delete hours
  • --lang — Default language

Delete a preset

Arguments

  • <id> — Preset ID

List presets

Set default preset (omit ID to clear)

Arguments

  • [id] — Preset ID (omit to clear default)

Change a preset

Arguments

  • <id> — Preset ID

Flags

  • --duration — New auto-delete hours
  • --lang — New default language
  • --name — New name

View or update user profile

Show profile (default when no subcommand given)

Update preferred language

Arguments

  • <language> — Language code (en, de, es, fr, it, nl)

Update display name

Arguments

  • <name> — New display name

Provider stamp codes — mint one-time provenance codes from this device

List the codes you’ve created from this account

Mint a one-time code: prints the three words and copies them to the clipboard

Flags

  • --lang — Code language: en | de | es | fr | it | nl. Defaults to en

Set up THIS device to mint stamps (sign in with tcc auth login first). On the first device use the invite token from your invitation link

Flags

  • --invite — Invite token from your provider invitation link (first device only)
  • --lang — Code language: en | de | es | fr | it | nl. Defaults to en

Interactive REPL — a persistent session where commands are typed without the tcc prefix

Seal content (prove it’s from you)

Seal the clipboard contents

Flags

  • --description — Owner-only description (1–120 characters), shown in your own seal list. Encrypted to your account key; nobody else sees it
  • --max-checks — End the seal after about this many checks by others (1–1000; 0 = no limit). Omitted: the suggestion of your plan
  • --require-approval — Require phone approval before signing (Pro plan)
  • --show-my-name — Ignored: every seal shows your name and email address. Accepted for one release so existing scripts keep working
  • --valid-days — End the seal after this many days (1–3650; 0 = no limit). Omitted: the suggestion of your plan

Export a portable proof document for a seal

Arguments

  • <id> — Seal ID (from list output)

List what this account has sealed

Revoke a seal

Arguments

  • <id> — Content ID (from list)

Seal text given on the command line

Arguments

  • <content> — The text to seal

Flags

  • --description — Owner-only description (1–120 characters), shown in your own seal list. Encrypted to your account key; nobody else sees it
  • --file — Path to file to include (hashed locally, never uploaded). Its name is encrypted with the text
  • --label — Title of the seal. Encrypted with the text (never sent in clear), and shown on the phone approval screen
  • --language — Language for code words (en, de, fr, es, it, nl)
  • --max-checks — End the seal after about this many checks by others (1–1000; 0 = no limit). Omitted: the suggestion of your plan
  • --ref, -r — Reference slug (repeatable)
  • --require-approval — Require phone approval before signing (Pro plan)
  • --show-my-name — Ignored: every seal shows your name and email address. Accepted for one release so existing scripts keep working
  • --valid-days — End the seal after this many days (1–3650; 0 = no limit). Omitted: the suggestion of your plan

Active sessions — what else is signed in as you

Every session signed in as you

End one session

Arguments

  • <session_id> — Session ID (from tcc session list)

Set up or switch account (login, register device, sync — all in one)

Switch to a different account (logout, login as new user, re-setup)

Sync vault secrets to local cache

Clear cached secrets

Show sync state

Organize connections with tags

Assign a tag to a connection

Arguments

  • <connection_id> — Connection ID
  • <tag_id> — Tag ID

Create a tag

Arguments

  • <name> — Tag name

Delete a tag

Arguments

  • <id> — Tag ID

List all tags

Rename a tag

Arguments

  • <id> — Tag ID
  • <name> — New name

Remove a tag from a connection

Arguments

  • <connection_id> — Connection ID
  • <tag_id> — Tag ID

Trust — the people you follow, your own score, and the verification log

The people you follow

Follow someone

Arguments

  • <ticket> — The subscribeTicket printed by tcc verify --public

Flags

  • --description — Your own note
  • --label — Your own name for this person
  • --source — Where the follow came from

The verification history of someone you follow

Arguments

  • <watched_user_id> — The id of the person you follow (from tcc trust cards)

The verification log

Flags

  • --direction — Filter by direction
  • --limit — How many entries to return
  • --offset — Skip this many entries

Change your name or note for someone you follow

Arguments

  • <watched_user_id> — The id of the person you follow (from tcc trust cards)

Flags

  • --description — New note
  • --label — New label

Your own trust score and the numbers behind it

Stop following someone

Arguments

  • <watched_user_id> — The id of the person you follow (from tcc trust cards)

Remove Trusted Codes from this computer completely

Flags

  • --confirm-last-key-holder — Remove this computer’s device even when it is the last device that holds the account key. Without it a terminal asks; with no terminal the run stops before anything on this computer is deleted
  • --delete-env-file — Also delete the operator’s env file (tcc.env) without asking
  • --keep-device-on-server — Leave this computer’s device active on the server
  • --server-step — One account’s server step (internal: one child per account)
  • --yes — Do not ask; needed when there is no terminal. Keeps the env file

Remove the tcc entry point created by install-cli

Verify 3 words against cached connections

Arguments

  • <word1> — First word
  • <word2> — Second word
  • <word3> — Third word

Flags

  • --country — Country hint for the public lookup (ISO 3166-1 alpha-2)
  • --public — Also ask the SERVER (public lookup). The two answers are printed separately and never merged: the local check knows only the vault secrets this device holds, and saying “no match” when the honest answer is “I cannot tell” is the fault conclusive exists to stop