Skip to main content
Watch: I Built an AI App Without Leaving Databricks

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

Amp slash commands
CommandDescription
/

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 queue) that queues the message until the agent finishes its whole turn instead of steering it.

Docs: prompt: queue message
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
Amp CLI flags
FlagDescriptionExample
--help

Shows more of what the CLI can do. amp clone --help shows every repository form and amp secrets --help lists the secrets operations.

Docs: --help
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. -ox is shorthand for --orb-execute -x; the CLI prints the new thread URL and exits while the agent keeps working.

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 --features fast and works with -x and piped input; execute mode otherwise defaults to Standard mode each time.

Docs: --fast
-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 -ox --stream-json otherwise archive the new thread.

Docs: --no-archive-after-execute
-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 amp runner dirs commands when more than one runner is running on the machine.

<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 runner dirs add are still served.

Docs: --no-serve-cwd
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 amp logout, removes all saved CLI accounts on every Amp server.

Docs: --all
-no example
--workspace

With amp config edit, edits workspace settings (.amp/settings.json) instead of user settings.

Docs: --workspace
-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 amp config model-providers check-access.

<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 amp threads share, sets who can open the thread.

private | workspace | group | unlisted

Docs: --visibility
amp threads share T-… --visibility unlisted
--no-git-setup

With amp clone, skips setting up Amp as a Git credential helper in your global Git config.

Docs: --no-git-setup
-no example
--global

With amp skill add, installs the skill only on the current machine under ~/.config/agents/skills/; warns if amp.skills.disableGlobalAgentsSkills is set.

Docs: --global
-no example
--target

With amp plugins add, workspace installs into the current project's .amp/plugins/ directory, not the hosted Workspace Plugins repository.

workspace

Docs: --target
-no example
--server-url

With amp mcp oauth login, the MCP server URL.

<url>

Docs: --server-url
-no example
--client-id

With amp mcp oauth login, the OAuth client ID created in the server's admin interface.

<id>

Docs: --client-id
-no example
--client-secret

With amp mcp oauth login, the OAuth client secret.

<secret>

Docs: --client-secret
-no example
--scopes

With amp mcp oauth login, the OAuth scopes to request.

comma-separated scopes

Docs: --scopes
-no example
--personal

Scope option for amp mcp remote: stores or selects the definition in your personal settings. Also used by amp projects create to make a personal project.

Docs: --personal
amp mcp remote --personal add Linear https://mcp.linear.app/mcp
--workspace <workspace>

Scope option for amp mcp remote: stores or selects the definition in a workspace.

<workspace>

Docs: --workspace <workspace>
amp mcp remote --workspace acme add Linear https://mcp.linear.app/mcp
--project <project>

Scope option for amp mcp remote: stores or selects the definition in a project.

<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: selects the Amp project that matches the current repository.

Docs: --current-project
amp mcp remote add Public https://mcp.example.com/mcp --auth none --current-project
--auth

Selects the authentication type for amp mcp remote add. workload-identity requires access granted by Amp staff.

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 commands; also accepted by amp skills list, amp tools show, amp orb services ensure, and amp config model-providers list.

Docs: --json
amp mcp remote tools github --personal --json
--disabled

With amp mcp remote update, disables the remote MCP definition.

Docs: --disabled
amp mcp remote --personal update Linear --disabled
--refresh

With amp mcp remote tools, refreshes the server's tool list.

Docs: --refresh
amp mcp remote --personal tools Linear --refresh
--yes

Confirms a destructive action, such as amp mcp remote remove or deactivating a subscription with amp config model-providers deactivate.

Docs: --yes
amp mcp remote --personal remove Linear --yes
--audience

With amp orb id-token, the intended service (aud claim) the token is minted for.

URL or URN

Docs: --audience
amp orb id-token --audience https://logs.example.com
--ttl-seconds

With amp orb id-token, the token lifetime.

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 amp orb id-token, controls the shape of the sub claim; broader scopes remove narrower layers. During setup only project or workspace scopes are allowed.

thread | user | project | workspace (default thread)

Docs: --subject-scope
amp orb id-token \ --audience api://AzureADTokenExchange \ --subject-scope workspace
--command

With amp orb service start, the shell command to run as the service.

<cmd>

Docs: --command
amp orb service start docker-daemon --command 'sudo dockerd'
--portal

With amp orb service start, waits for the listener, detects HTTP or HTTPS, writes .amp/portals/<name>.json, and prints the URL.

Docs: --portal
-no example
--title (orb portal/service)

Title of the portal link created by amp orb service start --portal or amp orb portal.

string

Docs: --title (orb portal/service)
-no example
--description

Setup or usage notes for a portal link created by amp orb service start --portal or amp orb portal.

string

Docs: --description
-no example
--cwd

With amp orb service start, the working directory for the service.

<path>

Docs: --cwd
-no example
--port

With amp orb service start, a fixed port for the service.

<port>

Docs: --port
-no example
--hostname

With amp orb portal, gives one portal a specific managed hostname (<name>--<namespace>.onamp.dev) or a hostname on a custom domain.

<hostname>

Docs: --hostname
-no example
--take-over

With amp orb portal --hostname, moves a custom hostname from another thread's portal to the current portal.

Docs: --take-over
amp orb portal <port> --hostname <hostname> --take-over
--amp-hosted

With amp projects create, starts the project with a blank repository hosted by Amp.

Docs: --amp-hosted
amp projects create --amp-hosted --name widgets
--name

Project name for amp projects create --amp-hosted, or a new name with amp projects update.

<name>

Docs: --name
-no example
--push

With amp projects create, run inside a local repository to create an Amp-hosted project, add its clone URL as origin, and push the current branch. Name defaults to the directory name.

Docs: --push
amp projects create --push
--remote

With amp projects create --push, uses a remote name other than origin.

<name>

Docs: --remote
-no example
--workspace (projects create)

With amp projects create, makes the workspace the project owner; --personal makes it personal.

Docs: --workspace (projects create)
-no example
--pre-setup-script-file

With amp projects update, sets the project's Pre-setup Script from a file.

<path>

Docs: --pre-setup-script-file
amp projects update <namespace/name> --pre-setup-script-file ./pre-setup.sh
--additional-repository

With amp projects update, replaces the project's additional repositories; repeat for each HTTPS URL.

<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, removes all additional repositories.

Docs: --clear-additional-repositories
amp projects update acme/widgets --clear-additional-repositories
--repository-url

With amp projects update, changes the primary URL of a mapped repository or migrates an Amp-hosted project to an external repository. Does not copy Git data.

<url>

Docs: --repository-url
-no example
--repository-mode

With amp projects update, links the URL as a GitHub repository or treats a GitHub-linked project as a plain Git URL.

github | mapped

Docs: --repository-mode
-no example
--base-branch

With amp projects update, sets the branch orbs check out and Ship targets.

<branch>

Docs: --base-branch
-no example
--clear-base-branch

With amp projects update, clears the base branch so the repository's default branch is used.

Docs: --clear-base-branch
-no example
--remote-url

With amp projects update, sets Git Remote Aliases used to match local CLI checkouts to the project. Each update replaces the whole list.

<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 amp projects update, removes all Git Remote Aliases.

Docs: --clear-remote-urls
-no example
--resource

With amp projects snapshots delete, deletes only the snapshot for one orb size.

orb size, e.g. a1.small

Docs: --resource
amp projects snapshots delete <project> --resource a1.small
Amp subcommands
CommandDescriptionExample
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. list --json also shows priorities.

Docs: amp config model-providers list
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 amp config model-providers add-chatgpt-subscription.

Docs: amp add-chatgpt-sub
-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 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 awaiting approval for workspace servers that need approval.

Docs: amp mcp doctor
-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 id used by other commands.

Docs: amp mcp remote list
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 amp --no-tui runner has stopped (run in the runner directory). amp report and amp diagnostics are aliases. Diagnostic data is deleted after 7 days.

"<description>"

Docs: amp report-bug
amp report-bug "describe the bug"
amp report

Alias for amp report-bug.

Docs: amp report
-no example
amp diagnostics

Alias for amp report-bug.

Docs: amp diagnostics
-no example
amp secrets

Manages Secrets & Env Vars from the CLI. Run amp secrets --help to see the available operations.

Docs: amp secrets
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
Amp keyboard shortcuts
ShortcutDescriptionExample
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 amp --no-tui runner, Ctrl+R reports a bug.

Docs: Ctrl+R
-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; <leader> u means Ctrl+X then u. Change it by defining a keymap entry for "leader".

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
Amp settings keys
KeyDescriptionExample
$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 Amp-Thread-ID: <thread-url> trailer to agent Git commits. While disabled, Amp refuses to run a git commit whose message writes the trailer by hand.

boolean, default true

Docs: amp.git.commit.ampThread.enabled
-no example
amp.git.commit.coauthor.enabled

Adds the Co-authored-by: Amp <amp@ampcode.com> trailer to agent Git commits. Never added in remote orbs whose project Git identity is Amp.

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 amp --no-tui runners install CLI updates and restart into them once no thread is running, at most once every 12 hours, keeping their flags.

boolean, default true

Docs: amp.runner.autoUpdate.enabled
-no example
amp.runner.env.enabled

Lets amp --no-tui runners inject ampcode.com Secrets & Env Vars into threads' shell commands, MCP servers, and plugins. Same as --amp-env.

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]
Amp environment variables
VariableDescriptionExample
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 amp clone skip setting up Amp as a Git credential helper.

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 amp config edit.

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/
Amp config files
PathDescriptionExample
~/.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 amp skill add --global.

Docs: ~/.config/agents/skills/
-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.

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.