ccdesk 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +90 -0
- package/LICENSE +21 -0
- package/README.md +131 -2
- package/dist/server/agent-edit.js +77 -0
- package/dist/server/backups.js +303 -0
- package/dist/server/cli.js +105 -0
- package/dist/server/mcp-edit.js +263 -0
- package/dist/server/mutations.js +193 -0
- package/dist/server/open.js +139 -0
- package/dist/server/scan/compare.js +34 -0
- package/dist/server/scan/context.js +140 -0
- package/dist/server/scan/env.js +28 -0
- package/dist/server/scan/files.js +478 -0
- package/dist/server/scan/index.js +280 -0
- package/dist/server/scan/instructions.js +289 -0
- package/dist/server/scan/inventory.js +452 -0
- package/dist/server/scan/mcp.js +313 -0
- package/dist/server/scan/memory.js +90 -0
- package/dist/server/scan/path-test.js +121 -0
- package/dist/server/scan/permissions.js +101 -0
- package/dist/server/scan/plugins.js +124 -0
- package/dist/server/scan/projects.js +101 -0
- package/dist/server/scan/sandbox.js +161 -0
- package/dist/server/scan/settings.js +330 -0
- package/dist/server/scan/tools.js +111 -0
- package/dist/server/scan/usage.js +514 -0
- package/dist/server/schema.js +15 -0
- package/dist/server/secrets.js +63 -0
- package/dist/server/server.js +352 -0
- package/dist/server/settings-edit.js +221 -0
- package/dist/server/watch.js +214 -0
- package/dist/server/write.js +233 -0
- package/dist/shared/builtin-tools.json +235 -0
- package/dist/shared/compare.js +1 -0
- package/dist/shared/hook-events.json +35 -0
- package/dist/shared/mcp-server.schema.json +25 -0
- package/dist/shared/memory.js +4 -0
- package/dist/shared/scopes.js +20 -0
- package/dist/shared/settings-scopes.json +208 -0
- package/dist/shared/settings.schema.json +4623 -0
- package/dist/shared/types.js +2 -0
- package/dist/ui/assets/hanken-grotesk-cyrillic-ext-wght-normal-D_UHSL_T.woff2 +0 -0
- package/dist/ui/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2 +0 -0
- package/dist/ui/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2 +0 -0
- package/dist/ui/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2 +0 -0
- package/dist/ui/assets/index-BQ3Lhx8z.js +60 -0
- package/dist/ui/assets/index-BRgGlpjd.css +1 -0
- package/dist/ui/assets/jetbrains-mono-cyrillic-ext-wght-normal-EocZY2iu.woff2 +0 -0
- package/dist/ui/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/dist/ui/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/dist/ui/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/dist/ui/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/dist/ui/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/dist/ui/index.html +15 -0
- package/dist/ui/logo.png +0 -0
- package/package.json +86 -4
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "From the tool table at https://code.claude.com/docs/en/tools-reference.md",
|
|
3
|
+
"tools": [
|
|
4
|
+
{
|
|
5
|
+
"name": "Agent",
|
|
6
|
+
"description": "Spawns a subagent with its own context window to handle a task. With agent teams enabled, a call that carries a `name` can launch a teammate instead.",
|
|
7
|
+
"asks": false
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"name": "Artifact",
|
|
11
|
+
"description": "Publishes an HTML or Markdown file as an artifact: a private, interactive page on claude.ai. You can share it with a public link, or inside your organization on Team and Enterprise plans, where public sharing requires an Owner to enable it. Requires a Pro, Max, Team, or Enterprise plan and `/login` authentication",
|
|
12
|
+
"asks": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "AskUserQuestion",
|
|
16
|
+
"description": "Asks multiple-choice questions to gather requirements or clarify ambiguity. Questions stay open until you answer them by default.",
|
|
17
|
+
"asks": false
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "Bash",
|
|
21
|
+
"description": "Executes shell commands in your environment.",
|
|
22
|
+
"asks": true
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "CronCreate",
|
|
26
|
+
"description": "Schedules a recurring or one-shot prompt within the current session. Tasks are session-scoped and restored on `--resume` or `--continue` if unexpired.",
|
|
27
|
+
"asks": false
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "CronDelete",
|
|
31
|
+
"description": "Cancels a scheduled task by ID",
|
|
32
|
+
"asks": false
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "CronList",
|
|
36
|
+
"description": "Lists all scheduled tasks in the session",
|
|
37
|
+
"asks": false
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "Edit",
|
|
41
|
+
"description": "Makes targeted edits to specific files.",
|
|
42
|
+
"asks": true
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "EndConversation",
|
|
46
|
+
"description": "Ends the session, in rare cases of sustained abusive input or when you ask Claude to demonstrate the tool. Requires Claude Code v2.1.213 or later.",
|
|
47
|
+
"asks": false
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "EnterPlanMode",
|
|
51
|
+
"description": "Switches to plan mode to design an approach before coding",
|
|
52
|
+
"asks": false
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "EnterWorktree",
|
|
56
|
+
"description": "Creates an isolated git worktree and switches into it. Pass a `path` to switch into an existing worktree instead of creating a new one. On first entry the target may be a worktree of the current repository or, in a multi-repo workspace, of a repository nested inside it. Before v2.1.203, a nested repository's worktree was rejected. A `path` outside `.claude/worktrees/` prompts for your approval before entering, since it moves the session's working directory and write access to that location. New-worktree creation and paths under `.claude/worktrees/` don't prompt. Before v2.1.206, Claude entered paths outside `.claude/worktrees/` without a prompt. From within a worktree session, or from a subagent with a pinned working directory such as `isolation: worktree`, only the `path` form is available and the target must be under `.claude/worktrees/` of the session's repository",
|
|
57
|
+
"asks": true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "ExitPlanMode",
|
|
61
|
+
"description": "Presents a plan for approval and exits plan mode",
|
|
62
|
+
"asks": true
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "ExitWorktree",
|
|
66
|
+
"description": "Exits a worktree session and returns to the original directory. Not available to subagents that already run in their own working directory, such as with `isolation: worktree`",
|
|
67
|
+
"asks": false
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "Glob",
|
|
71
|
+
"description": "Finds files based on pattern matching. Absent by default on macOS, Linux, and WSL.",
|
|
72
|
+
"asks": false
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "Grep",
|
|
76
|
+
"description": "Searches for patterns in file contents. Absent by default on macOS, Linux, and WSL.",
|
|
77
|
+
"asks": false
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "ListAgents",
|
|
81
|
+
"description": "Lists the agents Claude can message with `SendMessage`: subagents in the session, agent team teammates, your other local Claude Code sessions, and, while this session is connected to Remote Control, your cloud sessions and your Remote Control sessions on other machines. Backs the `/list-agents` command. Requires Claude Code v2.1.224 or later, and appears only in sessions where cross-session messaging is enabled. Teammate rows and the first line showing this session's own name require v2.1.239 or later",
|
|
82
|
+
"asks": false
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "ListMcpResourcesTool",
|
|
86
|
+
"description": "Lists resources exposed by connected MCP servers, leaving out MCP Apps UI resources, which are pages for a host application to render",
|
|
87
|
+
"asks": false
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "LSP",
|
|
91
|
+
"description": "Code intelligence via language servers: jump to definitions, find references, report type errors and warnings.",
|
|
92
|
+
"asks": false
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "Monitor",
|
|
96
|
+
"description": "Runs a command in the background and feeds each output line back to Claude, so it can react to log entries, file changes, or polled status mid-conversation. Can also open a WebSocket and treat each incoming message as an event.",
|
|
97
|
+
"asks": true
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "NotebookEdit",
|
|
101
|
+
"description": "Modifies Jupyter notebook cells.",
|
|
102
|
+
"asks": true
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "PowerShell",
|
|
106
|
+
"description": "Executes PowerShell commands natively.",
|
|
107
|
+
"asks": true
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"name": "PushNotification",
|
|
111
|
+
"description": "Sends a desktop notification, and a phone push when Remote Control is connected, so a long-running task or scheduled task can reach you when you step away. Push delivery runs through Anthropic-hosted infrastructure, which is not accessible from Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, or Microsoft Foundry",
|
|
112
|
+
"asks": false
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "Read",
|
|
116
|
+
"description": "Reads the contents of files.",
|
|
117
|
+
"asks": false
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"name": "ReadMcpResourceTool",
|
|
121
|
+
"description": "Reads a specific MCP resource by URI",
|
|
122
|
+
"asks": false
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "RemoteTrigger",
|
|
126
|
+
"description": "Creates, updates, runs, and lists Routines on claude.ai. Backs the `/schedule` command. The `RemoteTrigger` input reference documents every action and the organization policies that remove the tool. Routines live on claude.ai and require a Pro, Max, Team, or Enterprise plan, so this tool is not accessible from Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, or Microsoft Foundry",
|
|
127
|
+
"asks": false
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "ReportFindings",
|
|
131
|
+
"description": "Reports code-review findings as a structured list, with a file, summary, and failure scenario per finding, so Claude Code can render them instead of printing them as text. Claude calls it when active code-review instructions tell it to. A finding can also carry an optional `category` slug, such as `correctness` or `test-coverage`, shown next to the file location in the rendered list",
|
|
132
|
+
"asks": false
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "ScheduleWakeup",
|
|
136
|
+
"description": "Reschedules the next iteration of a self-paced `/loop`. Claude calls this at the end of each iteration to pick when the next one runs, between one minute and one hour out; you don't call it directly. To end the loop instead, Claude calls it with `stop: true`, which cancels the pending wakeup. The `stop` field requires Claude Code v2.1.202 or later. The pending wakeup appears in `session_crons` in Stop hook input",
|
|
137
|
+
"asks": false
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "SendFeedback",
|
|
141
|
+
"description": "Drafts a feedback report about Claude Code, covering a product problem or Claude's own behavior in the session, and queues it on your machine for you to review. Claude Code sends nothing until you choose to send the draft. Requires Claude Code v2.1.238 or later",
|
|
142
|
+
"asks": false
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "SendMessage",
|
|
146
|
+
"description": "Sends a message to another agent: an agent team teammate, a subagent it resumes by agent ID or name, or one of your other Claude Code sessions, on this machine or beyond it. Messaging other sessions requires Claude Code v2.1.224 or later. Cross-session messaging covers which sessions Claude can reach, what a message looks like when it arrives, and how Claude gets a notice when another session goes idle. Claude can include an optional `summary` input, typically 5-10 words, that Claude Code shows as a one-line preview. When Claude omits it on a plain-text message, Claude Code uses the first line of the message as the summary. Claude Code truncates a summary longer than 200 characters with an ellipsis",
|
|
147
|
+
"asks": false
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "SendUserFile",
|
|
151
|
+
"description": "Sends files from the session to you with an optional caption, so a generated report, diagram, screenshot, or built artifact reaches your device instead of only being mentioned in the transcript. The optional `display` input controls presentation: `render` opens the file inline in the client, `attach` shows a download card only, and when unset the client decides by file type. Available when a Remote Control client is connected or in a cloud session. Delivery runs through Anthropic-hosted infrastructure, so the tool is not available on Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry",
|
|
152
|
+
"asks": false
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "ShareOnboardingGuide",
|
|
156
|
+
"description": "Uploads `ONBOARDING.md` and returns a share link teammates can open in Claude Code. Called from `/team-onboarding` after the guide is written. Available to claude.ai subscribers on Pro, Max, Team, and Enterprise plans",
|
|
157
|
+
"asks": true
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "Skill",
|
|
161
|
+
"description": "Executes a skill within the main conversation",
|
|
162
|
+
"asks": true
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"name": "SubagentHandback",
|
|
166
|
+
"description": "Delivers a subagent's final report to whichever conversation receives that subagent's result. Provided only in auto mode, to subagents that the Agent tool runs locally other than forks, and available in the terminal CLI, IDE extensions, cloud sessions, and the Agent SDK; the classifier reviews the report before it's delivered. Requires Claude Code v2.1.271 or later",
|
|
167
|
+
"asks": false
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": "TaskCreate",
|
|
171
|
+
"description": "Creates a new task in the task list. Provided by default only on the models listed under Task tool availability, and on other models when you opt in",
|
|
172
|
+
"asks": false
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"name": "TaskGet",
|
|
176
|
+
"description": "Retrieves full details for a specific task. Provided by default only on the models listed under Task tool availability, and on other models when you opt in",
|
|
177
|
+
"asks": false
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"name": "TaskList",
|
|
181
|
+
"description": "Lists all tasks with their current status. Provided by default only on the models listed under Task tool availability, and on other models when you opt in",
|
|
182
|
+
"asks": false
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "TaskOutput",
|
|
186
|
+
"description": "Retrieves output from a background task. Deprecated in favor of `Read` on the task's output file path. When no task matches the ID, the error lists the running background agents by ID and description. Before v2.1.203, the error named only the missing ID",
|
|
187
|
+
"asks": false
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "TaskStop",
|
|
191
|
+
"description": "Stops a running background task by ID. It also accepts an agent-team teammate or a named background agent by agent ID or name. When no task matches the ID, the error lists the running background agents by ID and description, including agents that another agent spawned. Before v2.1.203, the error listed running teammates and named agents but not background agents another agent spawned, so those couldn't be identified or stopped from the main conversation",
|
|
192
|
+
"asks": false
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"name": "TaskUpdate",
|
|
196
|
+
"description": "Updates task status, dependencies, details, or deletes tasks. Provided by default only on the models listed under Task tool availability, and on other models when you opt in",
|
|
197
|
+
"asks": false
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "TodoWrite",
|
|
201
|
+
"description": "Manages the session task checklist. Disabled by default in favor of `TaskCreate`, `TaskGet`, `TaskList`, and `TaskUpdate`. Set `CLAUDE_CODE_ENABLE_TASKS=0` to re-enable it in sessions that have the task-tracking tools",
|
|
202
|
+
"asks": false
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"name": "ToolSearch",
|
|
206
|
+
"description": "Searches for and loads deferred tools when tool search is enabled",
|
|
207
|
+
"asks": false
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"name": "WaitForMcpServers",
|
|
211
|
+
"description": "Waits for one or more MCP servers that are still connecting in the background, so a request can use their tools without restarting the session. Claude calls it when a needed server isn't connected yet. Only appears when tool search is disabled, since `ToolSearch` handles the wait when it's enabled",
|
|
212
|
+
"asks": false
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"name": "WebFetch",
|
|
216
|
+
"description": "Fetches content from a specified URL.",
|
|
217
|
+
"asks": true
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"name": "WebSearch",
|
|
221
|
+
"description": "Performs web searches.",
|
|
222
|
+
"asks": true
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"name": "Workflow",
|
|
226
|
+
"description": "Runs a dynamic workflow: a script that orchestrates many subagents in the background and returns one consolidated result",
|
|
227
|
+
"asks": true
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "Write",
|
|
231
|
+
"description": "Creates or overwrites files.",
|
|
232
|
+
"asks": true
|
|
233
|
+
}
|
|
234
|
+
]
|
|
235
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {} from "./types.js";
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
[
|
|
2
|
+
"PreToolUse",
|
|
3
|
+
"PostToolUse",
|
|
4
|
+
"PostToolUseFailure",
|
|
5
|
+
"PostToolBatch",
|
|
6
|
+
"Notification",
|
|
7
|
+
"UserPromptSubmit",
|
|
8
|
+
"UserPromptExpansion",
|
|
9
|
+
"SessionStart",
|
|
10
|
+
"SessionEnd",
|
|
11
|
+
"Stop",
|
|
12
|
+
"StopFailure",
|
|
13
|
+
"SubagentStart",
|
|
14
|
+
"SubagentStop",
|
|
15
|
+
"PreCompact",
|
|
16
|
+
"PostCompact",
|
|
17
|
+
"PreModelSwitch",
|
|
18
|
+
"PostModelSwitch",
|
|
19
|
+
"PermissionRequest",
|
|
20
|
+
"PermissionDenied",
|
|
21
|
+
"Setup",
|
|
22
|
+
"TeammateIdle",
|
|
23
|
+
"TaskCreated",
|
|
24
|
+
"TaskCompleted",
|
|
25
|
+
"Elicitation",
|
|
26
|
+
"ElicitationResult",
|
|
27
|
+
"ConfigChange",
|
|
28
|
+
"WorktreeCreate",
|
|
29
|
+
"WorktreeRemove",
|
|
30
|
+
"InstructionsLoaded",
|
|
31
|
+
"CwdChanged",
|
|
32
|
+
"FileChanged",
|
|
33
|
+
"DirectoryAdded",
|
|
34
|
+
"MessageDisplay"
|
|
35
|
+
]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$comment": "One server entry of .mcp.json, ~/.claude.json or claude mcp add-json, with the fields https://code.claude.com/docs/en/mcp defines. Fields it does not name are left alone.",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"type": { "enum": ["stdio", "http", "streamable-http", "sse", "ws"] },
|
|
7
|
+
"command": { "type": "string" },
|
|
8
|
+
"args": { "type": "array", "items": { "type": "string" } },
|
|
9
|
+
"env": { "type": "object", "additionalProperties": { "type": "string" } },
|
|
10
|
+
"url": { "type": "string" },
|
|
11
|
+
"headers": { "type": "object", "additionalProperties": { "type": "string" } },
|
|
12
|
+
"headersHelper": { "type": "string" },
|
|
13
|
+
"oauth": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"properties": {
|
|
16
|
+
"clientId": { "type": "string" },
|
|
17
|
+
"callbackPort": { "type": "integer" },
|
|
18
|
+
"authServerMetadataUrl": { "type": "string" },
|
|
19
|
+
"scopes": { "type": "string" }
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"timeout": { "type": "number" },
|
|
23
|
+
"alwaysLoad": { "type": "boolean" }
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import scopeTable from "./settings-scopes.json" with { type: "json" };
|
|
2
|
+
import {} from "./types.js";
|
|
3
|
+
export const EVERY_FILE = ["user", "project", "local", "managed"];
|
|
4
|
+
/** Settings files by precedence: managed beats local beats project beats user. */
|
|
5
|
+
export const HIGHEST_FIRST = ["managed", "local", "project", "user"];
|
|
6
|
+
/** The settings files ccdesk writes to; managed settings belong to your organisation. */
|
|
7
|
+
export const EDITABLE_SCOPES = ["user", "project", "local"];
|
|
8
|
+
/** The permission lists, in the order ccdesk shows them. */
|
|
9
|
+
export const PERMISSION_LISTS = ["allow", "ask", "deny"];
|
|
10
|
+
/** Keys Claude Code reads only from some files, from the settings index (`pnpm scopes`). */
|
|
11
|
+
const SCOPE_LIMITED_KEYS = scopeTable.limited;
|
|
12
|
+
export function allowedScopes(key) {
|
|
13
|
+
return Object.hasOwn(SCOPE_LIMITED_KEYS, key) ? SCOPE_LIMITED_KEYS[key] : EVERY_FILE;
|
|
14
|
+
}
|
|
15
|
+
export function ignoredReason(key) {
|
|
16
|
+
const allowed = allowedScopes(key);
|
|
17
|
+
if (allowed.length === 0)
|
|
18
|
+
return "Claude Code reads this key from ~/.claude.json, not from settings files";
|
|
19
|
+
return `Claude Code reads this key only from ${allowed.join(" or ")} settings`;
|
|
20
|
+
}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "From the settings index at https://code.claude.com/docs/en/settings-reference.md",
|
|
3
|
+
"limited": {
|
|
4
|
+
"allowAllClaudeAiMcps": [
|
|
5
|
+
"managed"
|
|
6
|
+
],
|
|
7
|
+
"allowClaudeInChromeWithManagedMcp": [
|
|
8
|
+
"managed"
|
|
9
|
+
],
|
|
10
|
+
"allowedChannelPlugins": [
|
|
11
|
+
"managed"
|
|
12
|
+
],
|
|
13
|
+
"allowedProviders": [
|
|
14
|
+
"managed"
|
|
15
|
+
],
|
|
16
|
+
"allowManagedHooksOnly": [
|
|
17
|
+
"managed"
|
|
18
|
+
],
|
|
19
|
+
"allowManagedMcpServersOnly": [
|
|
20
|
+
"managed"
|
|
21
|
+
],
|
|
22
|
+
"allowManagedPermissionRulesOnly": [
|
|
23
|
+
"managed"
|
|
24
|
+
],
|
|
25
|
+
"askUserQuestionTimeout": [
|
|
26
|
+
"managed",
|
|
27
|
+
"user"
|
|
28
|
+
],
|
|
29
|
+
"appendPlugins": [
|
|
30
|
+
"managed",
|
|
31
|
+
"user"
|
|
32
|
+
],
|
|
33
|
+
"autoConnectIde": [],
|
|
34
|
+
"autoContinueAtUsageLimit": [
|
|
35
|
+
"managed",
|
|
36
|
+
"user"
|
|
37
|
+
],
|
|
38
|
+
"autoInstallIdeExtension": [],
|
|
39
|
+
"autoMode": [
|
|
40
|
+
"managed",
|
|
41
|
+
"user"
|
|
42
|
+
],
|
|
43
|
+
"availableModelsMatch": [
|
|
44
|
+
"managed"
|
|
45
|
+
],
|
|
46
|
+
"bashEditDiffEnabled": [
|
|
47
|
+
"managed",
|
|
48
|
+
"user"
|
|
49
|
+
],
|
|
50
|
+
"blockedMarketplaces": [
|
|
51
|
+
"managed"
|
|
52
|
+
],
|
|
53
|
+
"browserExternalPageTools": [
|
|
54
|
+
"managed"
|
|
55
|
+
],
|
|
56
|
+
"channelsEnabled": [
|
|
57
|
+
"managed"
|
|
58
|
+
],
|
|
59
|
+
"claudeInChromeDefaultEnabled": [],
|
|
60
|
+
"claudeMd": [
|
|
61
|
+
"managed"
|
|
62
|
+
],
|
|
63
|
+
"copyFullResponse": [],
|
|
64
|
+
"copyOnSelect": [],
|
|
65
|
+
"defaultToAgentsView": [],
|
|
66
|
+
"deniedModels": [
|
|
67
|
+
"managed"
|
|
68
|
+
],
|
|
69
|
+
"desktopSessionCleanupPeriodDays": [
|
|
70
|
+
"managed",
|
|
71
|
+
"user"
|
|
72
|
+
],
|
|
73
|
+
"dialogExpiry": [
|
|
74
|
+
"managed",
|
|
75
|
+
"user"
|
|
76
|
+
],
|
|
77
|
+
"diffTool": [],
|
|
78
|
+
"disableBrowserExternalNavigation": [
|
|
79
|
+
"managed"
|
|
80
|
+
],
|
|
81
|
+
"disableCommandPluginSources": [
|
|
82
|
+
"managed"
|
|
83
|
+
],
|
|
84
|
+
"disableDesktopLocalSessions": [
|
|
85
|
+
"managed"
|
|
86
|
+
],
|
|
87
|
+
"disableMobileSimulatorTools": [
|
|
88
|
+
"managed"
|
|
89
|
+
],
|
|
90
|
+
"disableSideloadFlags": [
|
|
91
|
+
"managed"
|
|
92
|
+
],
|
|
93
|
+
"externalEditorContext": [],
|
|
94
|
+
"feedbackDrafts": [
|
|
95
|
+
"managed",
|
|
96
|
+
"user"
|
|
97
|
+
],
|
|
98
|
+
"footerLinksRegexes": [
|
|
99
|
+
"managed",
|
|
100
|
+
"user"
|
|
101
|
+
],
|
|
102
|
+
"forceLoginGatewayUrl": [
|
|
103
|
+
"managed",
|
|
104
|
+
"user"
|
|
105
|
+
],
|
|
106
|
+
"forceRemoteSettingsRefresh": [
|
|
107
|
+
"managed"
|
|
108
|
+
],
|
|
109
|
+
"gatewayInternalNetworks": [
|
|
110
|
+
"managed"
|
|
111
|
+
],
|
|
112
|
+
"leftArrowOpensAgents": [],
|
|
113
|
+
"managedMcpServers": [
|
|
114
|
+
"managed"
|
|
115
|
+
],
|
|
116
|
+
"managedSourcesBehavior": [
|
|
117
|
+
"managed"
|
|
118
|
+
],
|
|
119
|
+
"modelPicker": [
|
|
120
|
+
"managed",
|
|
121
|
+
"user"
|
|
122
|
+
],
|
|
123
|
+
"modelPricing": [
|
|
124
|
+
"managed"
|
|
125
|
+
],
|
|
126
|
+
"parentSettingsBehavior": [
|
|
127
|
+
"managed"
|
|
128
|
+
],
|
|
129
|
+
"permissionExplainerEnabled": [],
|
|
130
|
+
"pluginConfigs": [
|
|
131
|
+
"managed",
|
|
132
|
+
"user"
|
|
133
|
+
],
|
|
134
|
+
"pluginSuggestionMarketplaces": [
|
|
135
|
+
"managed"
|
|
136
|
+
],
|
|
137
|
+
"pluginTrustMessage": [
|
|
138
|
+
"managed"
|
|
139
|
+
],
|
|
140
|
+
"policyHelper": [
|
|
141
|
+
"managed"
|
|
142
|
+
],
|
|
143
|
+
"prependPlugins": [
|
|
144
|
+
"managed",
|
|
145
|
+
"user"
|
|
146
|
+
],
|
|
147
|
+
"processWrapper": [
|
|
148
|
+
"managed",
|
|
149
|
+
"user"
|
|
150
|
+
],
|
|
151
|
+
"prStatusFooterEnabled": [],
|
|
152
|
+
"requiredMaximumVersion": [
|
|
153
|
+
"managed"
|
|
154
|
+
],
|
|
155
|
+
"requiredMinimumVersion": [
|
|
156
|
+
"managed"
|
|
157
|
+
],
|
|
158
|
+
"skipAutoPermissionPrompt": [
|
|
159
|
+
"managed",
|
|
160
|
+
"user"
|
|
161
|
+
],
|
|
162
|
+
"skipDangerousModePermissionPrompt": [
|
|
163
|
+
"managed",
|
|
164
|
+
"user",
|
|
165
|
+
"local"
|
|
166
|
+
],
|
|
167
|
+
"spellcheck": [
|
|
168
|
+
"managed",
|
|
169
|
+
"user"
|
|
170
|
+
],
|
|
171
|
+
"sshConfigs": [
|
|
172
|
+
"managed",
|
|
173
|
+
"user"
|
|
174
|
+
],
|
|
175
|
+
"sshHostAllowlist": [
|
|
176
|
+
"managed"
|
|
177
|
+
],
|
|
178
|
+
"strictKnownMarketplaces": [
|
|
179
|
+
"managed"
|
|
180
|
+
],
|
|
181
|
+
"strictPluginOnlyCustomization": [
|
|
182
|
+
"managed"
|
|
183
|
+
],
|
|
184
|
+
"syncClaudeAiPlugins": [
|
|
185
|
+
"managed",
|
|
186
|
+
"user",
|
|
187
|
+
"local"
|
|
188
|
+
],
|
|
189
|
+
"syncClaudeAiSkills": [
|
|
190
|
+
"managed",
|
|
191
|
+
"user",
|
|
192
|
+
"local"
|
|
193
|
+
],
|
|
194
|
+
"teammateDefaultModel": [],
|
|
195
|
+
"useAutoModeDuringPlan": [
|
|
196
|
+
"managed",
|
|
197
|
+
"user",
|
|
198
|
+
"local"
|
|
199
|
+
],
|
|
200
|
+
"vimInsertModeRemaps": [
|
|
201
|
+
"managed",
|
|
202
|
+
"user"
|
|
203
|
+
],
|
|
204
|
+
"wslInheritsWindowsSettings": [
|
|
205
|
+
"managed"
|
|
206
|
+
]
|
|
207
|
+
}
|
|
208
|
+
}
|