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

Cursor CLI reference - Settings

Cursor CLI cli-config.json settings

Cursor CLI documents 46 settings keys, including version, editor.vimMode and permissions.deny. These keys go in Cursor CLI's cli-config.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 6 official pagesFull Cursor CLI reference

Cursor CLI settings keys
KeyDescriptionExample
version

Required cli-config.json field: config schema version.

number (current: 1)

Docs: version
{ "version": 1, "editor": { "vimMode": false }, "permissions": { "allow": ["Shell(ls)"], "deny": [] } }
editor.vimMode

Required cli-config.json field that enables Vim keybindings.

boolean (default: false)

Docs: editor.vimMode
{ "version": 1, "editor": { "vimMode": true }, "permissions": { "allow": ["Shell(ls)"], "deny": [] } }
permissions.deny

Required field listing forbidden operations. Deny rules take precedence over allow rules.

string[]

Docs: permissions.deny
-no example
channel

Release channel used for CLI updates.

string

Docs: channel
-no example
model

Selected model configuration.

object

Docs: model
-no example
maxMode

Persisted preference for max mode in the model picker.

boolean

Docs: maxMode
-no example
hasChangedDefaultModel

CLI-managed model override flag.

boolean

Docs: hasChangedDefaultModel
-no example
notifications

Sends a terminal notification when the agent finishes or needs input.

boolean

Docs: notifications
-no example
hints

Shows CLI hints while the agent is working.

boolean

Docs: hints
-no example
rewind

Enables /rewind to restore an earlier message in the session.

boolean

Docs: rewind
-no example
suggestNextPrompt

Suggests a follow-up prompt at the end of each turn.

boolean

Docs: suggestNextPrompt
-no example
display.showLineNumbers

Shows line numbers in rendered code blocks.

boolean

Docs: display.showLineNumbers
-no example
display.showThinkingBlocks

Renders model thinking blocks when available.

boolean

Docs: display.showThinkingBlocks
-no example
display.showStatusIndicators

Enables terminal title status indicators.

boolean

Docs: display.showStatusIndicators
-no example
display.showStatusLineRunningTime

Shows elapsed running time in the status line.

boolean

Docs: display.showStatusLineRunningTime
-no example
approvalMode

Approval mode for tool calls.

allowlist | auto-review | unrestricted

Docs: approvalMode
-no example
sandbox.mode

Sandbox mode override.

string

Docs: sandbox.mode
-no example
sandbox.networkAccess

Network access setting for sandbox mode.

string

Docs: sandbox.networkAccess
-no example
sandbox.readBoundary

Read access mode controlling whether the agent can read files outside the workspace without asking. sandbox.json overrides it.

system (default) | workspace

Docs: sandbox.readBoundary
-no example
network.useHttp1ForAgent

Uses HTTP/1.1 with Server-Sent Events instead of HTTP/2 for agent connections, for proxies that do not support HTTP/2 bidirectional streaming.

boolean (default: false)

Docs: network.useHttp1ForAgent
{ "version": 1, "editor": { "vimMode": false }, "permissions": { "allow": [], "deny": [] }, "network": { "useHttp1ForAgent": true } }
attribution.attributeCommitsToAgent

Adds a "Made with Cursor" trailer to Agent commits. Admin-disabled attribution is enforced regardless of local settings.

boolean (default: true)

Docs: attribution.attributeCommitsToAgent
-no example
attribution.attributePRsToAgent

Adds a "Made with Cursor" footer to Agent PRs.

boolean (default: true)

Docs: attribution.attributePRsToAgent
-no example
autoAcceptWebSearch

cli-config.json setting for the Auto-Accept Web Search permission, letting the agent run web searches without pausing for approval. Also toggled under Permissions in /config.

boolean (off by default)

Docs: autoAcceptWebSearch
-no example
statusLine

Points to your own command whose output (with live token usage data) renders in the prompt footer as a custom status line.

command

Docs: statusLine
-no example
Shell(commandBase)

Permission token controlling shell commands; commandBase is the first token of the command line. Supports globs and command:args syntax.

e.g. Shell(ls), Shell(git), Shell(curl:*)

Docs: Shell(commandBase)
Shell(curl:*)
Read(pathOrGlob)

Permission token controlling read access to files and directories. Supports glob patterns.

path or glob

Docs: Read(pathOrGlob)
Read(src/**/*.ts)
Write(pathOrGlob)

Permission token controlling write access to files and directories. Supports glob patterns.

path or glob

Docs: Write(pathOrGlob)
Write(src/**)
WebFetch(domainOrPattern)

Permission token controlling which domains the web fetch tool can fetch without prompting. * matches all domains, *.example.com matches subdomains, example.com matches that domain only.

domain or pattern

Docs: WebFetch(domainOrPattern)
WebFetch(docs.github.com)
Mcp(server:tool)

Permission token controlling which MCP tools the agent can run, using the server name from mcp.json and the tool name, with * wildcards.

server:tool

Docs: Mcp(server:tool)
Mcp(datadog:*)
autoRun.allow_instructions

permissions.json key: plain-English instructions describing actions Auto-review should lean toward allowing. The CLI reads the same permissions.json as the IDE.

string[]

Docs: autoRun.allow_instructions
-no example
autoRun.block_instructions

permissions.json key: plain-English instructions describing actions Auto-review should lean toward blocking.

string[]

Docs: autoRun.block_instructions
{ "autoRun": { "allow_instructions": [], "block_instructions": [ "Every AWS CLI command should go through approval first.", "Every command that modifies Kubernetes resources should go through approval first." ] } }
type (sandbox.json)

sandbox.json sandbox mode, honored by the CLI. workspace_readwrite gives read/write in the workspace, workspace_readonly restricts to read-only, insecure_none disables the sandbox.

"workspace_readwrite" (default) | "workspace_readonly" | "insecure_none"

Docs: type (sandbox.json)
-no example
additionalReadwritePaths

sandbox.json: extra paths the agent can read and write. Only applies when type is workspace_readwrite.

string[] (default: [])

Docs: additionalReadwritePaths
-no example
additionalReadonlyPaths

sandbox.json: extra paths the agent can read.

string[] (default: [])

Docs: additionalReadonlyPaths
-no example
readBoundary

sandbox.json read access mode; workspace asks before reading outside the workspace. Overrides sandbox.readBoundary in cli-config.json.

"system" (default) | "workspace"

Docs: readBoundary
{ "readBoundary": "workspace", "additionalReadPaths": ["/opt/shared/design-tokens", "~/notes/*.md"] }
additionalReadPaths

sandbox.json Read Allowlist paths and globs the agent can read outside the workspace. Only applies when readBoundary is workspace.

string[] (default: [])

Docs: additionalReadPaths
-no example
disableTmpWrite

sandbox.json: when true, removes default write access to /tmp and system temp directories.

boolean (default: false)

Docs: disableTmpWrite
-no example
enableSharedBuildCache

sandbox.json: redirects build-tool caches (npm, cargo, pip, etc.) to a shared tmpdir so sandboxed and unsandboxed commands share caches.

boolean (default: false)

Docs: enableSharedBuildCache
-no example
networkPolicy.default

sandbox.json: action when no allow/deny rule matches.

"allow" | "deny" (default: "deny")

Docs: networkPolicy.default
{ "networkPolicy": { "default": "allow" } }
networkPolicy.allow

sandbox.json: patterns to allow; supports exact domains, wildcards, and CIDR notation.

string[] (default: [])

Docs: networkPolicy.allow
-no example
networkPolicy.deny

sandbox.json: patterns to deny. Highest priority; always blocks even if also in allow.

string[] (default: [])

Docs: networkPolicy.deny
-no example
setup-worktree

.cursor/worktrees.json generic fallback setup for all operating systems, checked when the CLI creates a worktree. Accepts an array of shell commands or a script path.

string[] | string

Docs: setup-worktree
{ "setup-worktree": [ "npm ci", "cp $ROOT_WORKTREE_PATH/.env .env" ] }
setup-worktree-unix

.cursor/worktrees.json commands or script path for macOS and Linux; takes precedence over setup-worktree on Unix.

string[] | string

Docs: setup-worktree-unix
-no example
setup-worktree-windows

.cursor/worktrees.json commands or script path for Windows; takes precedence over setup-worktree on Windows.

string[] | string

Docs: setup-worktree-windows
-no example
enabled_plugins

Key in ~/.cursor/settings.json that points at local plugin folders, so local plugins load without a marketplace.

Docs: enabled_plugins
-no example
user-invocable

SKILL.md frontmatter key; setting it to false hides the skill from / autocomplete and typed /skill-name resolution while keeping it available to the model.

boolean

Docs: user-invocable
user-invocable: false

The rest of the Cursor CLI reference

FAQ

How many settings keys does Cursor CLI have?

The official Cursor CLI docs list 46 settings keys, including version, editor.vimMode and permissions.deny. All of them are in the table above, in the docs' order.

What does version do in Cursor CLI?

Required cli-config.json field: config schema version. Values: number (current: 1). Example: {

Where are Cursor CLI settings keys documented?

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

More on Cursor CLI

Use other models in Cursor CLI

Setup guides from the model-in-tool directory, each with the env vars and base URL from official docs.

Sources

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