CLI reference - 314 items
Amp CLI reference
Amp documents 17 slash commands, 84 CLI flags, 88 subcommands, 27 keyboard shortcuts, 52 settings keys, 23 environment variables and 23 config files. This page lists all 314 with what each one does, the values it accepts and a working example where the docs give one.
Last verified 29 official pagesRun as amp
Slash commands17
Own page: Amp slash commands| Command | Description |
|---|---|
/ | Typing / in an empty prompt opens the CLI command palette, like Ctrl+O. Docs: / |
ide connect | Command palette command that connects Amp to VS Code, Cursor, Windsurf, Zed, or Neovim so it sees the open file and selection and edits through the IDE. Docs: ide connect |
prompt: paste image from clipboard | Command palette command that pastes a clipboard image when the terminal intercepts Ctrl+V. Docs: prompt: paste image from clipboard |
prompt: queue message | Command palette command (type |
editor | Command palette command that opens $EDITOR to write a prompt. Docs: editor |
mode | Typing mode in the command palette turns the Dial before the thread's first message. Docs: mode |
set visibility | Command palette command that changes the current thread's sharing visibility. Docs: set visibility |
amp: enable remote creation of threads | Command palette command that toggles amp.remoteThreadCreation.enabled so ampcode.com can create threads in this TUI. Docs: amp: enable remote creation of threads |
settings: show managed | Command palette command that lists each workspace-managed key, its value, and whether it replaces or merges with a local value. Docs: settings: show managed |
skills: list | Command palette command that lists available skills. Docs: skills: list |
plugins: reload | Command palette command that reloads plugins after a change. Docs: plugins: reload |
plugins: list | Command palette command that lists plugins available in the thread. Docs: plugins: list |
feedback: report bug | Command palette command that opens a bug report form; describe the bug and submit. Docs: feedback: report bug |
thread: archive | Command palette command that archives the current thread. Docs: thread: archive |
thread: new in orb | Command palette command that starts a new orb thread from the TUI. Docs: thread: new in orb |
project: select | Command palette command that chooses the project before starting an orb thread. Docs: project: select |
project: create | Command palette command that creates an Amp project when the repository does not have one yet. Docs: project: create |
CLI flags84
Own page: Amp CLI flags| Flag | Description | Example |
|---|---|---|
--help | Shows more of what the CLI can do. | amp --help |
-x, --execute | Starts the CLI in execute mode: sends the given message to the agent, waits until the agent ends its turn, prints its final message, and exits. Execute mode is also turned on automatically when stdout is redirected. prompt string (optional when input is piped) Docs: -x, --execute | amp -x "what files in this folder are markdown files? Print only the filenames." |
-ox, --orb-execute | Runs an execute-mode prompt in an orb on Amp's servers instead of on your machine. prompt string Docs: -ox, --orb-execute | amp -ox "Investigate why the latest CI run on main failed" |
--executor | Chooses where a new thread runs: locally, in an orb, or on one of your runners. Opens the interactive TUI with that executor selected, and also works with -x. local | orb | runner:<id> (default: local) Docs: --executor | amp --executor runner:grandmas-garage-server |
--runner-dir | Chooses a directory served by the target runner for a runner thread instead of the runner's starting directory. <absolute-path> Docs: --runner-dir | amp --executor runner:grandmas-garage-server --runner-dir /home/me/code/my-app |
--fast | Enables Fast mode for one invocation. It is an alias for | -no example |
--features | Sets thread features for a new thread, such as fast mode, or the model and effort for Claude Code mode threads started with -x or -ox. comma-separated features, e.g. fast, model:<id>, effort:<level> Docs: --features | amp -ox "Review this repository" --mode external-agent:claude-code \
--features model:mythos,effort:high |
--mode | Picks the agent mode for a new execute-mode thread. Ignored when continuing an existing thread, which keeps its mode. mode key, e.g. low, medium, high, ultra, external-agent:claude-code Docs: --mode | amp -x "Review this repository" --mode external-agent:claude-code \
--features model:claude-opus-5-5 |
--title | Sets the thread title for a new execute-mode thread. string Docs: --title | -no example |
--project | Chooses the project an orb starts from, for example outside a checkout or when the directory matches more than one project. Without it the CLI matches the current directory's Git remotes. Amp project (namespace/name), GitHub owner/repo, or repository URL Docs: --project | amp -ox "Update the README" --project my-org/my-repo |
--orb-size | Runs the orb on a different size than the project default. Ignored when continuing an existing thread. a1.tiny | a1.small | a1.medium | a1.large | a1.xxlarge | a1.3xlarge (project default a1.medium) Docs: --orb-size | amp -ox "Run the full browser test matrix" --orb-size a1.large |
--attach | Uploads a local file and adds its attachment URL to the message. Repeat the flag to attach multiple files; works with -ox and runner execute threads. <path> (repeatable) Docs: --attach | amp -ox "Compare these files" --attach ./report.pdf --attach "/tmp/notes with spaces.txt" |
--mcp-config | Specifies MCP servers as JSON without changing your settings file. Servers passed this way take highest precedence and do not require workspace approval. JSON object of MCP server definitions Docs: --mcp-config | amp --mcp-config '{"everything": {"command": "npx", "args": ["-y", "@modelcontextprotocol/server-everything"]}}' -x "What tools are available to you?" |
--plugin-ready-timeout | Makes execute mode wait for plugins to become ready before running the turn so agent.start and agent.end events are not skipped. The turn starts as soon as plugins are ready. optional seconds; bare flag waits up to 10; maximum 300; 0 disables the wait Docs: --plugin-ready-timeout | amp -x "summarize this repo" --plugin-ready-timeout 30 |
--timings | Prints a timing report for execute mode to stderr when the command exits, covering startup, authentication, thread connection, execution, and cleanup. The response stays on stdout. Docs: --timings | amp -x "summarize this repo" --timings |
--stream-json | Outputs each message as a JSON object on its own line instead of plain text. Requires --execute; with -ox it stays attached and streams the orb thread's events until the turn ends. Docs: --stream-json | amp --execute "what is 3 + 5?" --stream-json |
--stream-json-thinking | Includes assistant thinking and redacted_thinking blocks in streaming JSON output. This extends the schema and is not compatible with Claude Code. Docs: --stream-json-thinking | -no example |
--stream-json-input | Reads user messages as JSON lines from stdin until it closes, allowing several messages in one conversation. Requires --stream-json and is not supported with -ox. Docs: --stream-json-input | echo '{"type":"user","message":{"role":"user","content":[{"type":"text","text":"what is 2+2?"}]}}' | amp --execute --stream-json --stream-json-input |
--no-archive-after-execute | Keeps a new thread unarchived after an execute-mode turn finishes; execute mode and | -no example |
--settings-file | Points Amp at a different user settings file. <path> Docs: --settings-file | -no example |
--no-tui | Starts a runner-only Amp instance that waits for and runs remotely created threads in the current directory without opening the TUI. Docs: --no-tui | amp --no-tui --runner-id grandmas-garage-server |
--runner-id | Gives a runner a stable ID. Also selects the runner for <id>; must be a valid hostname, case-insensitive Docs: --runner-id | amp --no-tui --runner-id grandmas-garage-server |
--remote-control-terminal | Allows access to the CLI's or runner's terminal from ampcode.com. Takes precedence over AMP_REMOTE_CONTROL_TERMINAL. Docs: --remote-control-terminal | amp --no-tui --runner-id grandmas-garage-server --remote-control-terminal |
--no-remote-control-terminal | Explicitly disables terminal access from the web. Takes precedence over AMP_REMOTE_CONTROL_TERMINAL. Docs: --no-remote-control-terminal | -no example |
--desktop | Gives threads served by a runner a Desktop tab. On macOS threads see and control the Mac's display; on Linux the runner starts its own virtual desktop. Docs: --desktop | amp --no-tui --desktop |
--dir | Makes a runner serve one more directory. Repeat for each directory; any existing directory works. <path> (repeatable) Docs: --dir | amp --no-tui --runner-id mac-mini --dir ~/code/amp --dir ~/code/sandcastle |
--discover-dirs | Makes a runner serve every Git checkout up to two levels beneath the current directory, or beneath a given path. Repeat with paths to scan several directories. optional =<path> (repeatable); stops at 200 checkouts Docs: --discover-dirs | amp --no-tui --runner-id mac-mini --discover-dirs=~/work --discover-dirs=~/code --discover-dirs |
--discover-depth | Scans deeper than two levels when discovering checkouts. On its own it implies --discover-dirs for the current directory. <levels> 1 to 10 (default 2) Docs: --discover-depth | amp --no-tui --runner-id mac-mini --discover-depth 3 |
--discover-exclude | Skips directories that match a .gitignore-style pattern during discovery. Repeatable; on its own it implies --discover-dirs for the current directory. <pattern> (repeatable) Docs: --discover-exclude | amp --no-tui --runner-id mac-mini --discover-exclude dotfiles --discover-exclude 'work/legacy' |
--no-serve-cwd | Disables automatic serving of the directory where the runner was started. Directories from --dir, --discover-dirs, and | amp --no-tui --runner-id mac-mini --no-serve-cwd --discover-dirs=~/code |
--amp-env | Lets a runner inject the Secrets & Env Vars configured on ampcode.com into the shell commands, MCP servers, and plugins of the threads it serves. Off by default; same as amp.runner.env.enabled. Docs: --amp-env | amp --no-tui --amp-env |
--share | Shares a runner with the members of your workspace for as long as it runs. Fails if a workspace admin has disabled sharing runners. Docs: --share | amp --no-tui --runner-id macos-builder --share |
--all | With | -no example |
--workspace | With | -no example |
--model-mapping | Sets which models a connection serves using comma- or newline-separated patterns in provider/model form; a leading - excludes and the last matching line wins. pattern list, e.g. "*/*,-openai/gpt-5.4" Docs: --model-mapping | amp config model-providers edit-router <connection-id> --model-mapping "*/*,-openai/gpt-5.4" |
--clear-model-mapping | Returns a connection's model mapping to the connection type's default. Docs: --clear-model-mapping | -no example |
--provider-model | Names the model for <provider/model> Docs: --provider-model | -no example |
--headers | Adds additional HTTP headers to a Custom URL model routing connection when a provider needs them. Docs: --headers | -no example |
--visibility | With private | workspace | group | unlisted Docs: --visibility | amp threads share T-… --visibility unlisted |
--no-git-setup | With | -no example |
--global | With | -no example |
--target | With workspace Docs: --target | -no example |
--server-url | With <url> Docs: --server-url | -no example |
--client-id | With <id> Docs: --client-id | -no example |
--client-secret | With <secret> Docs: --client-secret | -no example |
--scopes | With comma-separated scopes Docs: --scopes | -no example |
--personal | Scope option for | amp mcp remote --personal add Linear https://mcp.linear.app/mcp |
--workspace <workspace> | Scope option for <workspace> Docs: --workspace <workspace> | amp mcp remote --workspace acme add Linear https://mcp.linear.app/mcp |
--project <project> | Scope option for <project> Docs: --project <project> | amp mcp remote --project acme/app add Linear https://mcp.linear.app/mcp |
--current-project | Scope option for | amp mcp remote add Public https://mcp.example.com/mcp --auth none --current-project |
--auth | Selects the authentication type for none | bearer | oauth | workload-identity Docs: --auth | amp mcp remote add OAuth https://mcp.example.com/mcp --auth oauth --personal |
--bearer-token-file | Passes a bearer token for a remote MCP definition from a file; use - to read from standard input. Secret values are not accepted as command arguments. <path> | - Docs: --bearer-token-file | amp mcp remote add Private https://mcp.example.com/mcp --auth bearer --bearer-token-file /path/to/token --workspace acme |
--oauth-client-id | OAuth client ID for a remote MCP definition with --auth oauth. <id> Docs: --oauth-client-id | amp mcp remote add OAuth https://mcp.example.com/mcp --auth oauth --oauth-client-id <id> --oauth-client-secret-file /path/to/secret --workspace acme |
--oauth-client-secret-file | Passes an OAuth client secret for a remote MCP definition from a file; use - to read from standard input. <path> | - Docs: --oauth-client-secret-file | -no example |
--json | Structured output for | amp mcp remote tools github --personal --json |
--disabled | With | amp mcp remote --personal update Linear --disabled |
--refresh | With | amp mcp remote --personal tools Linear --refresh |
--yes | Confirms a destructive action, such as | amp mcp remote --personal remove Linear --yes |
--audience | With URL or URN Docs: --audience | amp orb id-token --audience https://logs.example.com |
--ttl-seconds | With 60 to 3600 seconds (default 10 minutes) Docs: --ttl-seconds | amp orb id-token \
--audience https://logs.example.com \
--ttl-seconds 3600 |
--subject-scope | With thread | user | project | workspace (default thread) Docs: --subject-scope | amp orb id-token \
--audience api://AzureADTokenExchange \
--subject-scope workspace |
--command | With <cmd> Docs: --command | amp orb service start docker-daemon --command 'sudo dockerd' |
--portal | With | -no example |
--title (orb portal/service) | Title of the portal link created by string Docs: --title (orb portal/service) | -no example |
--description | Setup or usage notes for a portal link created by string Docs: --description | -no example |
--cwd | With <path> Docs: --cwd | -no example |
--port | With <port> Docs: --port | -no example |
--hostname | With <hostname> Docs: --hostname | -no example |
--take-over | With | amp orb portal <port> --hostname <hostname> --take-over |
--amp-hosted | With | amp projects create --amp-hosted --name widgets |
--name | Project name for <name> Docs: --name | -no example |
--push | With | amp projects create --push |
--remote | With <name> Docs: --remote | -no example |
--workspace (projects create) | With | -no example |
--pre-setup-script-file | With <path> Docs: --pre-setup-script-file | amp projects update <namespace/name> --pre-setup-script-file ./pre-setup.sh |
--additional-repository | With <https-url> (repeatable, up to 20) Docs: --additional-repository | amp projects update acme/widgets \
--additional-repository https://github.com/acme/api \
--additional-repository https://github.com/acme/docs |
--clear-additional-repositories | With | amp projects update acme/widgets --clear-additional-repositories |
--repository-url | With <url> Docs: --repository-url | -no example |
--repository-mode | With github | mapped Docs: --repository-mode | -no example |
--base-branch | With <branch> Docs: --base-branch | -no example |
--clear-base-branch | With | -no example |
--remote-url | With <url> (repeatable) Docs: --remote-url | amp projects update acme/widgets \
--remote-url https://gitlab.com/acme/widgets \
--remote-url git@github.com:acme/widgets.git |
--clear-remote-urls | With | -no example |
--resource | With orb size, e.g. a1.small Docs: --resource | amp projects snapshots delete <project> --resource a1.small |
Subcommands88
Own page: Amp subcommands| Command | Description | Example |
|---|---|---|
amp | Starts the Amp CLI. Without arguments it runs in interactive mode; piped input becomes the first user message in interactive mode. Docs: amp | echo "commit all my changes" | amp |
amp login | Adds an account and makes it active for the current Amp server. Required before cloning private projects or plugins and skills repositories. Docs: amp login | -no example |
amp logout | Removes the active saved account, or a specific account when given an email or user ID. Does not sign out browser or native app sessions. [<email-or-user-id>] Docs: amp logout | -no example |
amp account list | Shows saved CLI accounts. Docs: amp account list | -no example |
amp account switch | Chooses the account used by future CLI commands. Already running CLI processes keep the account they started with. <email-or-user-id> Docs: amp account switch | -no example |
amp completions | Prints shell completion setup for commands, aliases, options, and argument choices. Completions work without signing in or a network connection. bash | zsh | fish | pwsh Docs: amp completions | source <(amp completions zsh) |
amp update | Manually checks for and installs updates. Amp also checks and installs new versions automatically in the background. Docs: amp update | amp update |
amp version | Shows which version of Amp is installed. Docs: amp version | amp version |
amp config edit | Opens your user settings file in $EDITOR. Add --workspace to edit workspace settings. Docs: amp config edit | -no example |
amp config keymap | Shows the full map of keyboard shortcuts and all available commands. Docs: amp config keymap | amp config keymap |
amp config vocabulary add | Adds a term that Amp mishears to your custom dictation vocabulary. <term> Docs: amp config vocabulary add | -no example |
amp config model-providers | Manages model routing connections (API keys, subscriptions, cloud platforms, routers) from the CLI, with the same operations as Model Routing settings. Docs: amp config model-providers | -no example |
amp config model-providers list | Lists model routing connections and their current priority. | amp config model-providers list |
amp config model-providers set-priority | Sets a connection's priority; 0 is tried first and other connections at or after that priority move down one place. <connection-id> <priority> Docs: amp config model-providers set-priority | amp config model-providers set-priority <connection-id> 0 |
amp config model-providers test | Verifies a connection's credential with the provider, like the Check Access button. <connection-id> Docs: amp config model-providers test | -no example |
amp config model-providers check-access | Runs one short inference for a model and reports which connection actually served it. --provider-model <provider/model> Docs: amp config model-providers check-access | -no example |
amp config model-providers activate | Activates an inactive connection so it is used during routing again. <connection-id> Docs: amp config model-providers activate | amp config model-providers activate <connection-id> |
amp config model-providers deactivate | Deactivates a connection so it is skipped during routing while keeping its settings. Asks for --yes before deactivating a subscription. <connection-id> Docs: amp config model-providers deactivate | amp config model-providers deactivate <connection-id> |
amp config model-providers edit-router | Edits a router or gateway connection, for example its model mapping. <connection-id> [--model-mapping <patterns>] [--clear-model-mapping] Docs: amp config model-providers edit-router | amp config model-providers edit-router <connection-id> --model-mapping "*/*,-openai/gpt-5.4" |
amp config model-providers edit-key | Edits an API key connection, for example its model mapping. <connection-id> [--model-mapping <patterns>] [--clear-model-mapping] Docs: amp config model-providers edit-key | amp config model-providers edit-key <connection-id> --model-mapping "anthropic/claude-opus-4-6" |
amp config model-providers show | Shows a connection, including nonblocking warnings about its model mapping. Docs: amp config model-providers show | -no example |
amp config model-providers add-chatgpt-subscription | Opens the Sign in with ChatGPT flow in your browser so OpenAI model usage can bill to your ChatGPT subscription. Docs: amp config model-providers add-chatgpt-subscription | -no example |
amp add-chatgpt-sub | Short form of | -no example |
amp threads continue | Attaches the CLI to an existing thread. Combined with -ox it sends one message to the thread's own orb without attaching; combined with --execute it continues the thread in execute mode. [T-...] Docs: amp threads continue | amp threads continue T-… -ox 'The deploy finished, verify the fix in production' |
amp threads share | Changes the sharing visibility of a thread. <thread> --visibility <private|workspace|group|unlisted> Docs: amp threads share | amp threads share T-… --visibility unlisted |
amp threads markdown | Exports a thread as Markdown. <thread> Docs: amp threads markdown | amp threads markdown T-… |
amp threads export | Exports a thread's full JSON (available to the thread's creator). <thread> Docs: amp threads export | amp threads export T-… |
amp threads label | Labels a thread from the CLI. Docs: amp threads label | -no example |
amp threads rename | Renames a thread from the CLI. Docs: amp threads rename | -no example |
amp threads archive | Archives a thread from the CLI. Docs: amp threads archive | -no example |
amp threads delete | Permanently deletes a thread from the CLI. Docs: amp threads delete | -no example |
amp threads list | Lists threads without opening the web app. Docs: amp threads list | -no example |
amp threads search | Searches threads without opening the web app. Docs: amp threads search | -no example |
amp sync | Mirrors an orb thread's changes into your local checkout while the agent keeps working remotely. <thread> (URL or ID) Docs: amp sync | amp sync <thread> |
amp clone | Clones a repository hosted by Amp: an Amp-hosted project or a personal or workspace plugins or skills repository. Sets up Amp as a Git credential helper in your global Git config. owner/project-name | project URL | user-plugins | user-skills | workspace-plugins | workspace-skills | owner/-/plugins | owner/-/skills [directory] Docs: amp clone | amp clone owner/project-name my-directory |
amp skill add | Installs a skill directly from a GitHub repository, Git URL, or local path. Pass --global to install it only on the current machine under ~/.config/agents/skills/. <source> [--global] Docs: amp skill add | -no example |
amp skill import | Manages shared skill imports into a skills repository. Docs: amp skill import | -no example |
amp skill update | Updates one imported skill from a checkout of its repository. Review, commit, and push the update to publish it. <name> Docs: amp skill update | amp skill update <name> |
amp skills list | Lists available skills; add --json for machine-readable output. Running it in another shell does not reload an existing session. [--json] Docs: amp skills list | -no example |
amp skills repositories | Lists the skills repositories available to you, their clone commands, and whether you can write to them. Docs: amp skills repositories | amp skills repositories |
amp plugins add | Installs a single-file plugin from a URL as a machine-local system plugin for all projects. Add --target workspace to install into the current project's .amp/plugins/ directory. <url> [--target workspace] [--auto-update] Docs: amp plugins add | amp plugins add <url> |
amp plugins list | Shows loaded plugins, their sources, registered events, commands, and tools. Docs: amp plugins list | -no example |
amp plugins repositories | Lists the plugin repositories available to you, their clone commands, and whether you can write to them. Docs: amp plugins repositories | amp plugins repositories |
amp plugins import | Manages shared plugin imports into a plugins repository. Docs: amp plugins import | -no example |
amp plugins update | Updates one imported plugin from a checkout of its repository. <name> Docs: amp plugins update | amp plugins update <name> |
amp plugins show-agent-options | Lists the model IDs and built-in tools available to custom plugin agents. Docs: amp plugins show-agent-options | -no example |
amp plugins show-docs | Prints the Plugin API documentation installed in the current environment, for example inside an orb. Docs: amp plugins show-docs | -no example |
amp tools list | Lists local tools, useful for finding tool names to call from plugins. Docs: amp tools list | -no example |
amp tools show | Shows a local tool, including its input schema with --json. <name> [--json] Docs: amp tools show | amp tools show <name> --json |
amp mcp add | Adds a local MCP server to your configuration, either a command after -- or a remote URL. <name> -- <command...> | <name> <url> Docs: amp mcp add | amp mcp add context7 -- npx -y @upstash/context7-mcp |
amp mcp approve | Approves a workspace MCP server from .amp/settings.json so it can run. <server-name> Docs: amp mcp approve | amp mcp approve my-server |
amp mcp doctor | Shows MCP server status, including | -no example |
amp mcp oauth login | Registers manual OAuth client credentials for a local MCP server; Amp opens the browser to finish authentication when the TUI starts. <server> --server-url <url> --client-id <id> --client-secret <secret> --scopes <scopes> Docs: amp mcp oauth login | amp mcp oauth login my-server \
--server-url https://example.com/.api/mcp/v1 \
--client-id your-client-id \
--client-secret your-client-secret \
--scopes "openid,profile,email,user:all" |
amp mcp oauth logout | Clears stored OAuth credentials for a local MCP server so Amp reauthenticates on next startup. <server> Docs: amp mcp oauth logout | amp mcp oauth logout my-server |
amp mcp remote | Manages remote MCP definitions stored by ampcode.com in personal, workspace, or project scope. Every command needs one scope option, before or after the command. add | list | update | check | tools | login | logout | remove Docs: amp mcp remote | amp mcp remote --personal add Linear https://mcp.linear.app/mcp |
amp mcp remote add | Adds a remote MCP definition. Amp detects authentication when --auth is omitted. <name> <url> [--auth none|bearer|oauth|workload-identity] Docs: amp mcp remote add | amp mcp remote add Public https://mcp.example.com/mcp --auth none --current-project |
amp mcp remote list | Lists remote MCP definitions in the selected scope; --json returns the UUID | amp mcp remote --personal list |
amp mcp remote update | Updates a remote MCP definition by name or UUID, for example disabling it. <name-or-uuid> [--disabled] Docs: amp mcp remote update | amp mcp remote --personal update Linear --disabled |
amp mcp remote check | Checks a remote MCP definition. <name-or-uuid> Docs: amp mcp remote check | amp mcp remote --personal check Linear |
amp mcp remote tools | Lists a remote MCP server's tools; --refresh refreshes them. <name-or-uuid> [--refresh] [--json] Docs: amp mcp remote tools | amp mcp remote --personal tools Linear --refresh |
amp mcp remote login | Logs in to a remote MCP definition; prints the ampcode.com OAuth URL, useful in orbs where browser OAuth is unavailable. <name-or-uuid> Docs: amp mcp remote login | amp mcp remote --personal login Linear |
amp mcp remote logout | Logs out of a remote MCP definition. <name-or-uuid> Docs: amp mcp remote logout | amp mcp remote --personal logout Linear |
amp mcp remote remove | Removes a remote MCP definition. <name-or-uuid> [--yes] Docs: amp mcp remote remove | amp mcp remote --personal remove Linear --yes |
amp runner desktop status | Checks what a runner can share for the Desktop tab and, on Linux, lists which required programs it finds. Docs: amp runner desktop status | amp runner desktop status |
amp runner desktop allow | Asks macOS again for a permission the runner desktop needs. screen-recording | accessibility Docs: amp runner desktop allow | amp runner desktop allow screen-recording |
amp runner dirs add | Adds a directory to a running runner from another terminal on the same machine. Added directories are served again when the runner restarts from the same directory. <path> [--runner-id <id>] Docs: amp runner dirs add | amp runner dirs add ~/code/new-repo |
amp runner dirs list | Lists the directories a running runner serves. [--runner-id <id>] Docs: amp runner dirs list | amp runner dirs list |
amp runner dirs remove | Removes a directory from a running runner. <path> [--runner-id <id>] Docs: amp runner dirs remove | amp runner dirs remove ~/code/dotfiles |
amp report-bug | Sends a bug report with diagnostic data to the Amp team, for example after an "<description>" Docs: amp report-bug | amp report-bug "describe the bug" |
amp report | Alias for | -no example |
amp diagnostics | Alias for | -no example |
amp secrets | Manages Secrets & Env Vars from the CLI. Run | amp secrets --help |
amp secrets history | Shows who created and last changed each secret or environment variable entry, without showing values. Docs: amp secrets history | -no example |
amp orb restart-processes | Run from an orb's Terminal to refresh secrets: waits for the current command, reloads values, and restarts the executor and managed services. Docs: amp orb restart-processes | amp orb restart-processes |
amp orb id-token | Inside an orb, mints a signed OpenID Connect ID token for one intended service and prints only the token to standard output. --audience <aud> [--ttl-seconds <n>] [--subject-scope thread|user|project|workspace] Docs: amp orb id-token | amp orb id-token --audience https://logs.example.com |
amp orb services ensure | Reads .amp/services.yaml, starts any missing declared services, waits for readiness, writes Portal tab state, and prints the portal URLs. Add --json for structured status. [--json] Docs: amp orb services ensure | amp orb services ensure --json |
amp orb service list | Lists supervised services in the orb. Docs: amp orb service list | amp orb service list |
amp orb service status | Shows the status of a supervised service. <name> Docs: amp orb service status | amp orb service status web |
amp orb service logs | Shows the logs of a supervised service. <name> Docs: amp orb service logs | amp orb service logs web |
amp orb service restart | Restarts a service, reading the latest .amp/services.yaml and keeping its port and portal configuration. <name> Docs: amp orb service restart | amp orb service restart web |
amp orb service stop | Stops a supervised service. <name> Docs: amp orb service stop | amp orb service stop web |
amp orb service start | Starts a one-off supervised service for the current thread. Rejects names already declared in .amp/services.yaml; waits up to 60 seconds for the port with --portal. <name> --command <cmd> [--portal] [--title] [--description] [--cwd] [--port] Docs: amp orb service start | amp orb service start app \
--command 'npm run preview -- --host 0.0.0.0 --port "$PORT"' \
--portal \
--title 'App' \
--description 'Use the seeded development account.' |
amp orb portal | Lower-level command that creates or prints a portal URL for a server already listening on a port and registers it in the Portal tab. Does not start or supervise the server. <port> [--title] [--description] [--hostname <hostname>] [--take-over] Docs: amp orb portal | amp orb portal <port> --hostname <hostname> --take-over |
amp projects create | Creates a project mapped to an existing GitHub or Git repository, a blank Amp-hosted project with --amp-hosted, or an Amp-hosted project from a local repository with --push. [<repo>] [--amp-hosted --name <name>] [--push [--remote <name>]] [--personal | --workspace] Docs: amp projects create | amp projects create --amp-hosted --name widgets |
amp projects update | Updates project settings from the CLI. With no update options it refreshes a GitHub-connected project's repository metadata. <namespace/name> [options] Docs: amp projects update | amp projects update acme/widgets \
--remote-url https://gitlab.com/acme/widgets \
--remote-url git@github.com:acme/widgets.git |
amp projects delete | Deletes a project; its threads are always kept, archived, and read-only. <project> Docs: amp projects delete | -no example |
amp projects snapshots list | Lists a project's cached orb snapshots. <project> Docs: amp projects snapshots list | amp projects snapshots list <project> |
amp projects snapshots delete | Deletes cached orb snapshots so a setup change applies right away. Omit --resource to delete every snapshot for the project. <project> [--resource <size>] Docs: amp projects snapshots delete | amp projects snapshots delete <project> --resource a1.small |
Keyboard shortcuts27
Own page: Amp keyboard shortcuts| Shortcut | Description | Example |
|---|---|---|
Ctrl+O | Opens the command palette, Amp's most important CLI shortcut. In a plugin dialog with link fields it opens the first link. Docs: Ctrl+O | -no example |
Ctrl+G | Opens the current prompt in your editor. Requires $EDITOR. Docs: Ctrl+G | -no example |
Ctrl+V | Pastes an image from the clipboard into the prompt, even on macOS (not Cmd+V). Docs: Ctrl+V | -no example |
Ctrl+S | Turns the Dial before a thread's first message; afterwards it shows the thread's mode and models, which cannot change. Keymap command mode.toggle. Docs: Ctrl+S | -no example |
Tab (in the Dial) | After Ctrl+S, switches to a list of every mode (dial modes first); use Up and Down to choose and Tab again to return to the dial. Docs: Tab (in the Dial) | -no example |
Ctrl+R | Opens your prompt history. For an | -no example |
Up / Down | Moves to queued and previous messages so you can edit them. Docs: Up / Down | -no example |
Tab, then e | Edits a prior message: Tab navigates to prior messages and e edits the selected one. Docs: Tab, then e | -no example |
Alt+T | Expands or collapses thinking and tool call details for the current session. Docs: Alt+T | -no example |
Alt+R | Toggles fast mode for the active model. Docs: Alt+R | -no example |
Ctrl+C Ctrl+N | Archives the current thread and starts a new one. Docs: Ctrl+C Ctrl+N | -no example |
Ctrl+C Ctrl+E | Archives the current thread and quits. Docs: Ctrl+C Ctrl+E | -no example |
Ctrl+C Ctrl+C | Quits the CLI. Docs: Ctrl+C Ctrl+C | -no example |
Ctrl+C (with a transcript selection) | Copies an active transcript selection manually when amp.terminal.copyOnSelect is false. Docs: Ctrl+C (with a transcript selection) | -no example |
Esc Esc | Interrupts the active agent turn (forcibly stops the agent and sends your message immediately). Keymap command thread.interrupt. Docs: Esc Esc | -no example |
@ | In the TUI, searches for a file to mention. In the web composer, @ tags a workspace member. Docs: @ | -no example |
@@ | In the CLI, searches for a thread to mention. Docs: @@ | -no example |
Enter | Submits the prompt. If the agent is still working, Enter steers it by default: the message is delivered after the current step. Docs: Enter | -no example |
Enter Enter | On a queued message, steers it sooner. Docs: Enter Enter | -no example |
Shift+Enter | Inserts a newline when the terminal supports modified Enter keys (Ghostty, WezTerm, Kitty, iTerm2, or tmux with extended-keys enabled). Docs: Shift+Enter | tmux set -s extended-keys on |
Ctrl+J | Inserts a newline in any terminal. Docs: Ctrl+J | -no example |
\ then Return | Typing a backslash followed by Return inserts a newline. Docs: \ then Return | -no example |
<leader> (Ctrl+X) | The leader key used in keymap chords; default Ctrl+X Docs: <leader> (Ctrl+X) | -no example |
Cmd+Enter / Ctrl+Enter (web) | In the web composer, queues the message until the agent completely finishes instead of steering. Docs: Cmd+Enter / Ctrl+Enter (web) | -no example |
Ctrl+G Z | Snoozes the current thread in the web app. Docs: Ctrl+G Z | -no example |
Cmd+Shift+D / Ctrl+Shift+D | Starts and stops voice dictation (Cmd+Shift+D on macOS, Ctrl+Shift+D elsewhere); press and hold to dictate and send on release. Configurable in Keyboard Shortcuts settings. Docs: Cmd+Shift+D / Ctrl+Shift+D | -no example |
Cmd+Shift+, (macOS app) | Opens App Settings in the Amp app for macOS, where the Runner tab lives. Docs: Cmd+Shift+, (macOS app) | -no example |
Settings52
Own page: Amp settings keys| Key | Description | Example |
|---|---|---|
$schema | The JSON Schema URL used by your editor for validation, descriptions, and completions in settings files. string, e.g. https://ampcode.com/cli-settings.schema.json Docs: $schema | {
"$schema": "https://ampcode.com/cli-settings.schema.json",
"amp.showCosts": true
} |
amp.fuzzy.alwaysIncludePaths | Glob patterns for paths always included in fuzzy file search even if ignored by Git, useful for build output or generated files referenced with @ mentions. array of strings, default [] Docs: amp.fuzzy.alwaysIncludePaths | ["dist/**", "node_modules/@myorg/**"] |
amp.showCosts | Shows cost information for threads in the CLI while working. Workspace admins can also hide costs for all members. boolean, default true Docs: amp.showCosts | -no example |
amp.git.commit.ampThread.enabled | Adds the boolean, default true Docs: amp.git.commit.ampThread.enabled | -no example |
amp.git.commit.coauthor.enabled | Adds the boolean, default true Docs: amp.git.commit.coauthor.enabled | -no example |
amp.keymap | Customizes CLI keybindings. Configuring a command replaces its default; use an array to keep the old shortcut, or null to unbind. User keymap entries override workspace entries. object mapping command IDs to string | string[] | null, default {} Docs: amp.keymap | {
"amp.keymap": {
"mode.toggle": ["ctrl+s", "ctrl+j"],
"thread.copyURL": "<leader> u",
"thread.interrupt": ["esc esc", "ctrl+l"]
}
} |
mode.toggle | Keymap command ID shown in the amp.keymap example; bound to Ctrl+S by default per the keybindings page. string | string[] | null Docs: mode.toggle | "mode.toggle": ["ctrl+s", "ctrl+j"] |
thread.copyURL | Keymap command ID shown in the amp.keymap example for copying the thread URL. string | string[] | null Docs: thread.copyURL | "thread.copyURL": "<leader> u" |
thread.interrupt | Keymap command ID shown in the amp.keymap example for interrupting the agent (default Esc Esc). string | string[] | null Docs: thread.interrupt | "thread.interrupt": ["esc esc", "ctrl+l"] |
leader | Keymap entry that changes the <leader> key (default Ctrl+X). string Docs: leader | -no example |
command | Local (stdio) MCP server field: the command to run. Required for stdio servers in amp.mcpServers and skill mcp.json. string Docs: command | -no example |
args | Local MCP server field: the command arguments. string[] (optional) Docs: args | -no example |
env | Local MCP server field: environment variables for the server. object of strings (optional) Docs: env | -no example |
url | Remote MCP server field: the server endpoint. Required for HTTP servers. string Docs: url | -no example |
headers | Remote MCP server field: HTTP headers sent with requests. Can contain ${amp:id-token} for HTTPS servers in orbs. object of strings (optional) Docs: headers | "headers": { "Authorization": "token ${SRC_ACCESS_TOKEN}" } |
transport | HTTP MCP server field in the settings JSON Schema selecting the transport. http | sse | http-first Docs: transport | -no example |
oauth | HTTP MCP server field in the settings JSON Schema for OAuth client configuration. object: clientId (required), clientSecret, authUrl (required), tokenUrl (required), scopes (string[]), redirectUrl Docs: oauth | -no example |
includeTools | Common field for MCP servers defined in skills: tool names or glob patterns that choose which tools are exposed. Optional but recommended. string[] Docs: includeTools | "includeTools": ["navigate_*", "take_screenshot", "click", "fill*"] |
${amp:id-token} | Header placeholder that makes Amp send an Amp ID token to an HTTPS MCP server in an orb. Works only in headers of HTTPS servers without OAuth; outside an orb the server fails to connect. Docs: ${amp:id-token} | "headers": { "Authorization": "Bearer ${amp:id-token}" } |
amp.defaultVisibility | Defines default thread visibility per repository origin. object mapping origin to private | workspace | group Docs: amp.defaultVisibility | {"github.com/org/repo": "workspace"} |
amp.notifications.enabled | Plays notification sounds when the agent completes a task or is blocked waiting for input. Over SSH, or when AMP_FORCE_BEL is set, Amp sends a terminal bell instead. boolean, default true Docs: amp.notifications.enabled | -no example |
amp.remoteThreadCreation.enabled | Lets ampcode.com create new threads that open in the interactive TUI on this machine, in the directory where it was started. boolean, default false Docs: amp.remoteThreadCreation.enabled | {
"amp.remoteThreadCreation.enabled": true
} |
amp.runner.autoUpdate.enabled | Lets boolean, default true Docs: amp.runner.autoUpdate.enabled | -no example |
amp.runner.env.enabled | Lets boolean, default false Docs: amp.runner.env.enabled | -no example |
amp.skills.disableClaudeCodeSkills | Disables loading skills from Claude Code directories (.claude/skills/, ~/.claude/skills/, ~/.claude/plugins/cache/). boolean, default false Docs: amp.skills.disableClaudeCodeSkills | -no example |
amp.skills.disableGlobalAgentsSkills | Disables loading skills from ~/.config/agents/skills/ and ~/.agents/skills/. boolean, default false Docs: amp.skills.disableGlobalAgentsSkills | -no example |
amp.skills.path | Additional directories containing skills, colon-separated (semicolon on Windows). ~ expands to home; relative paths resolve against the workspace root. string Docs: amp.skills.path | ~/my-skills:/shared/team-skills |
amp.terminal.copyOnSelect | Copies transcript selections to the clipboard automatically. When false, press Ctrl+C to copy a selection. boolean, default true Docs: amp.terminal.copyOnSelect | -no example |
amp.terminal.detailsExpandedByDefault | Expands thinking and tool call details by default in the CLI transcript. boolean, default false Docs: amp.terminal.detailsExpandedByDefault | -no example |
amp.thread.autoArchiveOnQuit | Automatically archives the active thread and connected background threads when quitting Amp. boolean, default false Docs: amp.thread.autoArchiveOnQuit | -no example |
amp.tools.disable | Disables specific tools by name. Use builtin:toolname to disable only the built-in tool; * globs are supported. array of strings, default [] Docs: amp.tools.disable | -no example |
amp.mcpPermissions | Allows or blocks MCP servers that match a pattern; the first matching rule applies and unmatched servers are allowed. Match remote servers by url and local servers by command and args. array of {matches: object, action: allow | reject}, default [] Docs: amp.mcpPermissions | "amp.mcpPermissions": [
{ "matches": { "command": "*" }, "action": "reject" },
{ "matches": { "url": "*" }, "action": "reject" }
] |
amp.updates.mode | Controls update checking: warn shows notifications, disabled turns checks off (also disables runner auto-update), auto installs updates. AMP_SKIP_UPDATE_CHECK=1 overrides it. "auto" | "warn" | "disabled", default "auto" Docs: amp.updates.mode | -no example |
amp.admin.compatibilityDate | Managed-settings field giving the date used to determine which backward-compatibility migrations Amp must apply. Supported in managed-settings.json and the workspace document. string, YYYY-MM-DD Docs: amp.admin.compatibilityDate | 2024-01-15 |
amp.url | Setting named as not allowed in the workspace managed settings document because it could make the client unable to reach the server that provides the settings. Docs: amp.url | -no example |
amp.proxy | Setting named as not allowed in the workspace managed settings document because it could make the client unable to reach the settings server. Docs: amp.proxy | -no example |
amp.workspaces | Setting that is local to one machine and therefore cannot be set in the workspace managed settings document. Docs: amp.workspaces | -no example |
amp.mcpTrustedServers | Setting that is local to one machine and therefore cannot be set in the workspace managed settings document. Docs: amp.mcpTrustedServers | -no example |
name (SKILL.md frontmatter) | Skill name in SKILL.md YAML frontmatter. Amp uses the first skill with a given name; in hosted repositories it must match the directory name. string Docs: name (SKILL.md frontmatter) | ---
name: my-skill
description: A description of what this skill does
--- |
description (SKILL.md frontmatter) | Skill description the model sees and uses to decide when to load the skill. string Docs: description (SKILL.md frontmatter) | -no example |
mcpServers (SKILL.md frontmatter) | Defines MCP servers for a skill. If both mcpServers and a sibling mcp.json exist, Amp uses mcpServers. object of MCP server definitions Docs: mcpServers (SKILL.md frontmatter) | -no example |
builtin-tools (SKILL.md frontmatter) | In a plugin-bundled skill, lists the plugin's own tools so they stay hidden from the model until the skill is loaded. list of tool names Docs: builtin-tools (SKILL.md frontmatter) | -no example |
globs (mentioned guidance file frontmatter) | YAML front matter in an @-mentioned guidance file so it is included only after Amp reads a matching file. Globs are implicitly prefixed with **/ unless they start with ../ or ./. string[] Docs: globs (mentioned guidance file frontmatter) | ---
globs:
- '**/*.ts'
- '**/*.tsx'
--- |
services.<name>.command | .amp/services.yaml field: required shell command run through a login shell. A service with a portal must listen on $PORT. string Docs: services.<name>.command | command: pnpm dev -- --host 0.0.0.0 --port "$PORT" |
services.<name>.cwd | .amp/services.yaml field: working directory relative to the repository root. string, default repository root Docs: services.<name>.cwd | -no example |
services.<name>.port | .amp/services.yaml field: fixed local port. Omit to let Amp choose a free port that stays the same across restarts. integer 1 to 65535 Docs: services.<name>.port | -no example |
services.<name>.env | .amp/services.yaml field: string environment variables for the command; values can refer to another service's public URL. PORT, PUBLIC_URL, and AMP_THREAD_ID cannot be set. object of strings Docs: services.<name>.env | FRONTEND_URL: ${services.web.publicURL} |
services.<name>.health | .amp/services.yaml field: HTTP path Amp requests after the port opens; 2xx and 3xx mean ready. path string Docs: services.<name>.health | health: /healthz |
services.<name>.portal | .amp/services.yaml field: primary portal link. true means / with the service name; or a mapping with url, title, description. true | {url, title, description} Docs: services.<name>.portal | portal: true |
services.<name>.portals | .amp/services.yaml field: more portal links for the same service; each needs url and title, and folders can group links. list Docs: services.<name>.portals | -no example |
services.<name>.review | .amp/services.yaml field: whether Amp injects the portal review widget. boolean, default true Docs: services.<name>.review | review: false |
services.<name>.platforms | .amp/services.yaml field: optional nonempty list of platforms the service runs on; omit to run on all platforms. [linux] | [darwin] | [linux, darwin] Docs: services.<name>.platforms | platforms: [darwin] |
Environment variables23
Own page: Amp environment variables| Variable | Description | Example |
|---|---|---|
AMP_API_KEY | Access token for non-interactive environments such as scripts and CI. Must be a Settings access token starting with sgamp_; takes precedence over saved accounts. Reserved and cannot be stored as an orb secret. sgamp_... access token Docs: AMP_API_KEY | export AMP_API_KEY=your-access-token-here |
AMP_DISABLE_AMP_THREAD_TRAILER | Set to 1 to stop adding the Amp-Thread-ID trailer to agent commits, like amp.git.commit.ampThread.enabled=false. 1 Docs: AMP_DISABLE_AMP_THREAD_TRAILER | -no example |
AMP_DISABLE_AMP_COAUTHOR_TRAILER | Set to 1 to stop adding the Co-authored-by: Amp trailer. Can be set as a personal, project, or workspace environment variable for orbs. 1 Docs: AMP_DISABLE_AMP_COAUTHOR_TRAILER | -no example |
AMP_FORCE_BEL | When set, Amp sends a terminal bell for notifications instead of using host audio. Docs: AMP_FORCE_BEL | -no example |
AMP_SKIP_UPDATE_CHECK | Set to 1 to override amp.updates.mode and disable all update checks. 1 Docs: AMP_SKIP_UPDATE_CHECK | -no example |
AMP_REMOTE_CONTROL_TERMINAL | When neither terminal flag is passed, 1 enables web terminal access and 0 disables it. An explicit CLI flag takes precedence. 1 | 0 Docs: AMP_REMOTE_CONTROL_TERMINAL | -no example |
AMP_NO_GIT_SETUP | Set to 1 to make 1 Docs: AMP_NO_GIT_SETUP | -no example |
AMP_IGNORE_GUIDANCE_FILES | Colon-delimited list of globs matched against absolute paths of guidance files to skip. '*' ignores all guidance files. colon-delimited globs Docs: AMP_IGNORE_GUIDANCE_FILES | AMP_IGNORE_GUIDANCE_FILES="$HOME/.config/amp/AGENTS.md:$HOME/.config/AGENTS.md" amp -x "do the thing" |
HTTP_PROXY | Standard Node.js variable for using the CLI behind a corporate proxy. proxy URL Docs: HTTP_PROXY | export HTTP_PROXY=your-proxy-url |
HTTPS_PROXY | Standard Node.js variable for using the CLI behind a corporate proxy. proxy URL Docs: HTTPS_PROXY | export HTTPS_PROXY=your-proxy-url |
NODE_EXTRA_CA_CERTS | Standard Node.js variable pointing to custom certificates for corporate networks. path to PEM file Docs: NODE_EXTRA_CA_CERTS | export NODE_EXTRA_CA_CERTS=/path/to/your/certificates.pem |
EDITOR | Editor used by Ctrl+G and the editor command to write prompts, and by editor command Docs: EDITOR | -no example |
XDG_CONFIG_HOME | If set, system plugins are loaded from $XDG_CONFIG_HOME/amp/plugins/ instead of ~/.config/amp/plugins/. path Docs: XDG_CONFIG_HOME | -no example |
AMP_WORKSPACE_ID | Available inside an orb; the immutable workspace UUID, used for example when configuring Tailscale trust credentials. UUID Docs: AMP_WORKSPACE_ID | -no example |
AMP_PROJECT_ID | Available inside an orb; the project UUID. UUID Docs: AMP_PROJECT_ID | -no example |
AMP_ORB | Set inside an orb; the docs use it to allow all Vite hosts only inside an orb. Docs: AMP_ORB | allowedHosts: process.env.AMP_ORB ? true : undefined, |
PORT | Managed by Amp and given to every declared orb service; a service with a portal must listen on it. port number Docs: PORT | -no example |
PUBLIC_URL | Managed by Amp and given to services with at least one portal link; read it at runtime when the application needs its public origin. URL Docs: PUBLIC_URL | -no example |
AMP_THREAD_ID | Managed by Amp and given to every declared orb service. thread ID Docs: AMP_THREAD_ID | -no example |
$AMP_USER_EMAIL | The only placeholder supported in a portal entry; Amp replaces it in url, title, and description (URL-encoded in url). Docs: $AMP_USER_EMAIL | url: /__dev/log-me-in/$AMP_USER_EMAIL?returnTo=/ |
__VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS | Set by Amp to the exact Portal hostname when it starts a portaled service, so Vite 6.1 and later allow it. hostname Docs: __VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS | -no example |
WAYLAND_DISPLAY, DISPLAY, PULSE_SERVER | Inherited by threads served by a Linux runner started with --desktop so graphical programs open in its virtual desktop. Docs: WAYLAND_DISPLAY, DISPLAY, PULSE_SERVER | -no example |
GIT_CONFIG_COUNT / GIT_CONFIG_KEY_0 / GIT_CONFIG_VALUE_0 | Entries added under project Secrets & Env Vars to give orbs clone credentials for private repositories outside GitHub. Mark GIT_CONFIG_KEY_0 as a secret. Docs: GIT_CONFIG_COUNT / GIT_CONFIG_KEY_0 / GIT_CONFIG_VALUE_0 | GIT_CONFIG_COUNT=1
GIT_CONFIG_KEY_0=url.https://USERNAME:TOKEN@git.example.com/.insteadOf
GIT_CONFIG_VALUE_0=https://git.example.com/ |
Config files23
Own page: Amp config files| Path | Description | Example |
|---|---|---|
~/.config/amp/settings.json | User settings file on macOS and Linux (or settings.jsonc). On Windows: %USERPROFILE%\.config\amp\settings.json or settings.jsonc. Docs: ~/.config/amp/settings.json | -no example |
.amp/settings.json | Workspace settings (or .amp/settings.jsonc), found by searching upward from the current directory to the repository root. Overrides user settings, except for keymaps; MCP servers here need approval. Docs: .amp/settings.json | -no example |
managed-settings.json | Admin-deployed managed settings file. Paths: macOS /Library/Application Support/ampcode/managed-settings.json, Linux /etc/ampcode/managed-settings.json, Windows %ProgramData%\ampcode\managed-settings.json. Takes precedence over the workspace managed document. Docs: managed-settings.json | -no example |
https://ampcode.com/cli-settings.schema.json | JSON Schema for Amp CLI user and workspace settings files. Docs: https://ampcode.com/cli-settings.schema.json | -no example |
$HOME/.config/amp/AGENTS.md | Personal guidance file, always included if it exists; $HOME/.config/AGENTS.md is also supported. Docs: $HOME/.config/amp/AGENTS.md | -no example |
/etc/ampcode/AGENTS.md | System-wide or organization-managed guidance, always included. Also /Library/Application Support/ampcode/AGENTS.md (macOS) and %ProgramData%\ampcode\AGENTS.md (Windows). Docs: /etc/ampcode/AGENTS.md | -no example |
.amp/plugins/ | Project plugins directory at the project root; .ts or .js files or <plugin-name>/index.ts directories. Highest precedence among plugin sources. Docs: .amp/plugins/ | -no example |
~/.config/amp/plugins/ | System plugins directory on macOS and Linux ($XDG_CONFIG_HOME/amp/plugins/ if set; %USERPROFILE%\.config\amp\plugins\ on Windows). Applies to your projects on that machine. Docs: ~/.config/amp/plugins/ | -no example |
~/.config/agents/skills/ | First skill source in precedence; machine-local skills, and the install target of | -no example |
~/.agents/skills/ | Second skill source in precedence (global agent-agnostic directory). Docs: ~/.agents/skills/ | -no example |
~/.config/amp/skills/ | Third skill source in precedence (Amp user skills directory). Docs: ~/.config/amp/skills/ | -no example |
.agents/skills/ | Project skills in the project and searched parent directories; can be committed with the project. Docs: .agents/skills/ | -no example |
.claude/skills/ | Claude-compatible skill locations: .claude/skills/, ~/.claude/skills/, and ~/.claude/plugins/cache/. Skipped when amp.skills.disableClaudeCodeSkills is set. Docs: .claude/skills/ | -no example |
SKILL.md | Skill definition file with YAML frontmatter inside a skill directory. Local directories are searched up to five levels below each skills root. Docs: SKILL.md | ---
name: my-skill
description: A description of what this skill does
---
# My Skill Instructions |
mcp.json | Sibling file in a skill directory defining MCP servers whose tools stay hidden until the skill loads. Docs: mcp.json | {
"linear": {
"url": "https://mcp.linear.app/sse",
"includeTools": ["list_issues", "create_issue", "update_issue"]
}
} |
.agents/setup | Executable script at the repository root that prepares new project orbs and their snapshots. Stopped after 20 minutes; log at /home/user/.cache/amp/logs/setup.log. Docs: .agents/setup | chmod +x .agents/setup
git add .agents/setup |
.agents/resume | Executable script run after orb activation and each wake for quick authentication or repair. Amp waits up to 10 seconds; log at /home/user/.cache/amp/logs/resume.log. Docs: .agents/resume | chmod +x .agents/resume
git add .agents/resume |
.amp/services.yaml | Declares long-running orb services and their portal links; needs a nonempty top-level services mapping. Docs: .amp/services.yaml | services:
web:
command: pnpm dev -- --host 0.0.0.0 --port "$PORT"
health: /healthz
portal: true |
.amp/portals/*.json | Generated portal link manifests for the current orb and thread; ignore in Git. Custom manifests can be written by hand. Docs: .amp/portals/*.json | .amp/portals/ |
/home/user/.cache/amp/logs/ | Orb hook logs: setup.log for .agents/setup and resume.log for .agents/resume, replaced each run. Docs: /home/user/.cache/amp/logs/ | -no example |
/run/amp/workload-identity-request-token | Workload identity request credential available during pre-clone, pre-setup, and .agents/setup scripts; removed after setup. Docs: /run/amp/workload-identity-request-token | -no example |
~/.amp/bin/amp-desktop-helper/<version> | Install location of Amp Desktop Helper.app on macOS runners using --desktop. Docs: ~/.amp/bin/amp-desktop-helper/<version> | -no example |
~/.cache/amp/runner-desktop/<runner-id> | Per-runner compositor, logs, and sockets for Linux runner desktops. Waymote is downloaded to ~/.amp/bin/waymote/<waymote-version> on x64 Linux. Docs: ~/.cache/amp/runner-desktop/<runner-id> | -no example |
FAQ
How many commands and options does Amp have?
The official Amp docs list 314 items: 17 slash commands, 84 CLI flags, 88 subcommands, 27 keyboard shortcuts, 52 settings keys, 23 environment variables and 23 config files. The largest group is subcommands, with 88.
Where does Amp keep its configuration?
Amp documents 23 config files and locations, including ~/.config/amp/settings.json, .amp/settings.json and managed-settings.json. The docs describe ~/.config/amp/settings.json as: User settings file on macOS and Linux (or settings.jsonc). On Windows: %USERPROFILE%\.config\amp\settings.json or settings.jsonc.
Which environment variables does Amp read?
The docs list 23 environment variables, such as AMP_API_KEY, AMP_DISABLE_AMP_THREAD_TRAILER, AMP_DISABLE_AMP_COAUTHOR_TRAILER and AMP_FORCE_BEL. Each one is in the environment variables table above with what it controls.
Sources
Last verified . Names and examples are copied verbatim from the 29 official pages below, and every row above links the exact section it came from.
- ampcode.com/docs/cli13 items
- ampcode.com/docs/cli/execute-mode6 items
- ampcode.com/docs/cli/spawning-orbs6 items
- ampcode.com/docs/the-dial6 items
- ampcode.com/docs/orbs/sizes-and-costs1 item
- ampcode.com/docs/cli/streaming-json3 items
- ampcode.com/docs/cli/settings38 items
- ampcode.com/docs/cli/runners21 items
- ampcode.com/docs/cli/remote-control3 items
- ampcode.com/docs/cli/keybindings26 items
- ampcode.com/docs/prompting8 items
- ampcode.com/docs/customize/model-routing14 items
- ampcode.com/docs/threads13 items
- ampcode.com/docs/orbs4 items
- ampcode.com/docs/cli/clone3 items
- ampcode.com/docs/customize/skills20 items
- ampcode.com/docs/customize/global-plugins-and-skills5 items
- ampcode.com/docs/customize/plugins12 items
- ampcode.com/docs/orbs/event-driven1 item
- ampcode.com/docs/customize/mcp32 items
- ampcode.com/docs/support/reporting-bugs4 items
- ampcode.com/docs/orbs/handling-secrets8 items
- ampcode.com/docs/orbs/portals33 items
- ampcode.com/docs/projects16 items
- ampcode.com/docs/orbs/customizing10 items
- ampcode.com/docs/macos-and-ios/runner1 item
- ampcode.com/cli-settings.schema.json2 items
- ampcode.com/docs/customize/agents-md4 items
- ampcode.com/docs/github1 item
Newsletter
Know when your tools change
One email per week. New coding agent releases, the flags and commands they add, and what they mean for how you work.