3.7 KiB
name, description, metadata
| name | description | metadata | |||
|---|---|---|---|---|---|
| update-cli-config | View and modify Cursor CLI configuration settings in ~/.cursor/cli-config.json. Use when the user wants to change CLI settings, configure permissions, switch approval mode, enable vim mode, toggle display options, configure sandbox, or manage any CLI preferences. |
|
Cursor CLI Configuration
This skill explains how to view and modify Cursor CLI settings stored in ~/.cursor/cli-config.json.
Config File Location
The config file is ~/.cursor/cli-config.json.
Projects can layer overrides via .cursor/cli.json files. The CLI walks from the git root to the current working directory and merges each .cursor/cli.json it finds (deeper files take precedence). Project overrides only affect the current session; they are not written back to the home config.
How to Modify
Read ~/.cursor/cli-config.json, apply changes, and write it back. The file is standard JSON. Changes take effect after restarting the CLI.
Available Settings
permissions (required)
Tool permission rules. Each entry is a string pattern.
allow: string[] — patterns for allowed tool calls (e.g."Shell(**)","Mcp(server-name, tool-name)")deny: string[] — patterns for denied tool calls
editor
vimMode: boolean — enable vim keybindings in the CLI inputdefaultBehavior:"ide"|"agent"— default behavior mode
display (optional)
showLineNumbers: boolean (default: false) — show line numbers in code outputshowThinkingBlocks: boolean (default: false) — show model thinking/reasoning blocksshowStatusIndicators: boolean (default: false) — show status indicators in the UI
channel (optional)
Release channel: "prod" | "staging" | "lab" | "static"
maxMode (optional)
boolean (default: false) — enable max mode for higher-quality model responses
approvalMode (optional)
Controls tool approval behavior:
"allowlist"(default) — require approval for tools not in the allow list"unrestricted"— auto-approve all tool calls (yolo mode)
sandbox (optional)
Sandbox execution environment settings:
mode:"disabled"|"enabled"(default:"disabled")networkAccess:"user_config_only"|"user_config_with_defaults"|"allow_all"— controls network access from sandboxnetworkAllowlist: string[] — domains the sandbox is allowed to reach
network (optional)
useHttp1ForAgent: boolean (default: false) — use HTTP/1.1 instead of HTTP/2 for agent connections (enables SSE-based streaming)
bedrock (optional)
AWS Bedrock integration settings:
enabled: boolean (default: false)mode:"access-key"|"team-role"(default:"access-key")region: string — AWS regiontestModel: string — model to use for testingteamRoleArn: string — IAM role ARN for team modeteamExternalId: string — external ID for STS assume-role
attribution (optional)
Controls how agent work is attributed in git:
attributeCommitsToAgent: boolean (default: true) — attribute commits to the agentattributePRsToAgent: boolean (default: true) — attribute PRs to the agent
webFetchDomainAllowlist (optional)
string[] — domains the web fetch tool is allowed to access (e.g. "docs.github.com", "*.example.com", "*")
Fields You Should NOT Modify
These are internal/cached state and should not be edited manually:
version— config schema versionmodel/selectedModel/modelParameters/hasChangedDefaultModel— managed by the model pickerprivacyCache— cached privacy mode stateauthInfo— cached authentication infoshowSandboxIntro— one-time UI flagconversationClassificationScoredConversations— internal cache