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

Amp CLI reference - Settings

Amp settings.json settings

Amp documents 52 settings keys, including $schema, amp.fuzzy.alwaysIncludePaths and amp.showCosts. These keys go in Amp's settings.json and the other config files it reads. Each row gives the docs' description, accepted values and an example where one is documented.

Last verified 9 official pagesFull Amp reference

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]

The rest of the Amp reference

FAQ

How many settings keys does Amp have?

The official Amp docs list 52 settings keys, including $schema, amp.fuzzy.alwaysIncludePaths and amp.showCosts. All of them are in the table above, in the docs' order.

What does $schema do in Amp?

The JSON Schema URL used by your editor for validation, descriptions, and completions in settings files. Values: string, e.g. https://ampcode.com/cli-settings.schema.json. Example: {

Where are Amp settings keys documented?

On 9 official docs pages at ampcode.com, last read on October 17, 2026. Every row in the table links the exact section it came from.

Sources

Last verified . Names and examples are copied verbatim from the 9 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.