Installs the Claude Code IDE extension
across supported editors and persists ~/.claude (credentials, config, memory)
across every devcontainer rebuild via a host bind-mount.
Add initializeCommand to your devcontainer.json so the host directory is
guaranteed to exist before Docker tries to bind-mount it:
{
"initializeCommand": "mkdir -p ~/.claude",
"features": {
"ghcr.io/helpers4/devcontainer/claude-dev:1": {}
}
}| Editor | Status | ID |
|---|---|---|
| VS Code | ✅ | anthropic.claude-code |
| Cursor | ✅ | anthropic.claude-code (same registry as VS Code) |
| JetBrains (IntelliJ, WebStorm…) | 🔜 | pending xmlId confirmation — marketplace page: plugin/27310 (vendor: Anthropic) |
| Zed | 🔜 | no standard devcontainer customization format yet |
- Build time (
install.sh): generates/usr/local/share/claude-dev/setup-credentials.shwith the target user's home path baked in. - Mount (
devcontainer-feature.json → mounts): bind-mounts$HOME/.claudefrom the host to/mnt/h4claudeinside the container. - Every start (
postStartCommand):setup-credentials.shreplaces~/.claudewith a symlink to/mnt/h4claude— credentials, settings, and Claude Code memory all survive rebuilds.
If /mnt/h4claude is not mounted (e.g. missing initializeCommand, standalone test),
the script warns and exits cleanly — the container starts normally, just without persistence.
- OS: any (no OS-level installation — pure IDE configuration)
- Architectures: amd64, arm64
{ "features": { "ghcr.io/helpers4/devcontainer/claude-dev:1": {} } }