Troubleshooting
Use this page by symptom. Start with the section that matches what the user sees, not the subsystem you think might be involved.
If your problem is not listed here, check GitHub Issues.
The Installer Fails
Section titled “The Installer Fails”Symptom: npx @coredirective/cf-container fails.
Check these first:
- Verify Node.js and npm are installed.
- Check network access to the npm registry.
- Retry with:
npx --yes @coredirective/cf-containerIf the problem is permissions-related, avoid global installs and use npx.
The Container Does Not Open or Build Correctly
Section titled “The Container Does Not Open or Build Correctly”Symptom: VS Code does not offer to reopen in container, or the build fails.
Check these first:
- Confirm the Dev Containers extension is installed.
- Make sure
.devcontainer/is at the project root you opened. - Confirm Docker is running.
- Rebuild without cache if the first build was interrupted.
If feature installation is the failure point:
- confirm you have enough memory
- check internet access and GitHub rate limiting
- temporarily disable the failing feature with
"version": "none"
Authentication Fails
Section titled “Authentication Fails”Claude Code
Section titled “Claude Code”Symptom: claude or cc fails with auth errors.
Try:
- Launch
claudeonce interactively. - Verify your token or API-key configuration.
- Wait briefly and retry if background setup just completed.
GitHub CLI
Section titled “GitHub CLI”Symptom: gh is not authenticated.
Try:
gh auth statusgh auth loginOr configure GH_TOKEN in .devcontainer/.secrets.
Codex CLI
Section titled “Codex CLI”Symptom: codex fails with auth errors.
Try:
- Launch
codexinteractively once. - Verify
OPENAI_API_KEYif using API-key auth. - Recreate
~/.codex/auth.jsonif needed.
Commands or Tools Are Missing
Section titled “Commands or Tools Are Missing”Symptom: cc or another tool is not found.
Check these first:
- Open a new terminal.
- Run
check-setup. - Run
cc-tools. - Confirm the tool is not optional or disabled by default.
If cc is missing specifically, reload your shell config with source ~/.bashrc or source ~/.zshrc.
A Plugin or Automation Is Not Running
Section titled “A Plugin or Automation Is Not Running”Symptom: a plugin appears inactive, or formatting/linting does not happen.
Check these first:
- Confirm the plugin is enabled in
settings.json. - Confirm the required underlying tools are installed.
- Remember that many checks run on the Stop hook, not immediately on edit.
- Check whether a hook was disabled in
disabled-hooks.json.
The Container or Startup Is Slow
Section titled “The Container or Startup Is Slow”Symptom: slow startup, high memory usage, or long rebuilds.
Try:
- Increase Docker memory if your machine can support it.
- Disable unused optional features.
- Use normal rebuilds instead of no-cache rebuilds for routine changes.
- Check available disk space.
First start is slower than later starts because setup scripts and tool installs run only once per fresh environment.
Ports or Services Are Not Reachable
Section titled “Ports or Services Are Not Reachable”Symptom: a service is running in the container but not reachable from the host.
Check these first:
- If you are using VS Code, confirm port forwarding is active.
- If you are using the DevContainer CLI or another non-VS Code client, use
dbror SSH tunneling. - Check for port conflicts.
Use Accessing Services for the practical guide.
Docker or WSL Is Misbehaving
Section titled “Docker or WSL Is Misbehaving”Linux Docker permission errors
Section titled “Linux Docker permission errors”Symptom: docker permission errors.
Make sure your user can access the Docker daemon without sudo.
Windows WSL issues
Section titled “Windows WSL issues”Symptom: Docker hangs or the container does not start in WSL-based setups.
Check:
- Docker Desktop WSL integration is enabled.
- Your distro is using WSL 2, not WSL 1.
- Docker Desktop was restarted after settings changes.
Reset Options
Section titled “Reset Options”Use the smallest reset that solves the problem:
- delete and redeploy runtime config in
~/.claude/ - restore default source config under
.codeforge/config/ - reset aliases in your shell config
- rebuild the container
- disable and re-enable a single feature