Repository navigation
Expand file tree
/
Copy pathdevcontainer-feature.json
More file actions
65 lines (65 loc) · 4.2 KB
/
Copy pathdevcontainer-feature.json
File metadata and controls
65 lines (65 loc) · 4.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{
"id": "claude-code",
"version": "1.9.6",
"name": "Claude Code",
"description": "Claude Code (https://code.claude.com/docs) as a member of this collection's ecosystem: installs the sha256-verified native release binary at /usr/local/bin/claude (no Node.js, version pinnable) unless a claude is already in the image - e.g. from the official ghcr.io/anthropics/devcontainer-features/claude-code, which is then augmented instead of replaced - and adds agent-adapter-claude (Claude Code's adapter for the agents Feature: task agents -- <name> finds a session by its name and folder and acts on it by id), the deprecated claude-host launcher, claude-fleet command and claude-host-pin hook (still working, each printing one deprecation line; claude-code 2.0 removes them), a named volume mounted at CLAUDE_CONFIG_DIR (/var/lib/devcontainer-features/claude-code) so login and sessions survive rebuilds, a post-create hook that makes that directory usable by the remote user, and the Feature Taskfile. The in-app auto-updater is off; a rebuild updates.",
"documentationURL": "https://github.com/nabil-becker/devcontainer-features/tree/main/src/claude-code",
"licenseURL": "https://github.com/nabil-becker/devcontainer-features/blob/main/LICENSE",
"options": {
"installTaskfile": {
"type": "boolean",
"default": true,
"description": "Also install this Feature's Taskfile into /usr/local/share/go-task/includes.d so its tasks appear under the <id>: namespace of a root Taskfile that includes /usr/local/share/go-task/features.yml (see the go-task Feature)."
},
"install": {
"type": "string",
"proposals": [
"auto",
"native",
"none"
],
"default": "auto",
"description": "How the claude binary gets there. 'auto': keep a claude already in the image (official Feature, base image) and only add the ecosystem pieces, else install the native binary. 'native': always install the verified native binary at /usr/local/bin/claude (wins over an npm install on PATH). 'none': never install the binary, only the pieces."
},
"additionalDirectories": {
"type": "string",
"default": "",
"description": "Comma-separated folders every Claude session in the container may read and edit besides the one it starts in (Claude Code's permissions.additionalDirectories), written at build time to the managed-settings drop-in /etc/claude-code/managed-settings.d/50-devcontainer-features-claude-code.json, so no wrapper adding --add-dir is needed and the user's own settings are not touched. Absolute paths, or ~/... for the remote user's home (expanded at build time); a relative path fails the build. Empty: nothing is written. File access only: unlike --add-dir, a folder listed here does not load its CLAUDE.md, skills or other .claude/ configuration."
},
"remoteControl": {
"type": "boolean",
"default": false,
"description": "Start every Claude agent the agents Feature runs with Remote Control on (--remote-control), so agents.yml need not repeat it in each agent's args. Applied by agent-adapter-claude to the sessions it starts or wakes, unless an agent's args already have --remote-control or --no-remote-control (the adapter's own per-agent opt-out). Per run: AGENT_ADAPTER_CLAUDE_REMOTE_CONTROL=0 or 1."
},
"version": {
"type": "string",
"default": "stable",
"description": "Native binary version to install (e.g. '2.1.286'), or a release channel: 'stable' or 'latest'. Ignored when an existing claude is kept (install=auto) or install=none."
}
},
"containerEnv": {
"DISABLE_AUTOUPDATER": "1",
"CLAUDE_CONFIG_DIR": "/var/lib/devcontainer-features/claude-code"
},
"mounts": [
{
"source": "claude-code-config-${devcontainerId}",
"target": "/var/lib/devcontainer-features/claude-code",
"type": "volume"
}
],
"postCreateCommand": "claude-code-setup",
"customizations": {
"vscode": {
"extensions": [
"anthropic.claude-code"
]
}
},
"installsAfter": [
"ghcr.io/nabil-becker/devcontainer-features/go-task",
"ghcr.io/devcontainers/features/common-utils",
"ghcr.io/devcontainers/features/node",
"ghcr.io/anthropics/devcontainer-features/claude-code"
]
}