One-line install
Detects your platform, verifies the SHA-256 checksum, installs to ~/.local/bin.
curl -fsSL https://raw.githubusercontent.com/edditz/ccws/main/scripts/install.sh | sh
claude code · workspace manager
Bind scattered directories into a single folder. Open it in Claude Code and the whole project is in scope — no flags, no --add-dir rituals, no JSON by hand.
curl -fsSL https://raw.githubusercontent.com/edditz/ccws/main/scripts/install.sh | sh -s -- --repo edditz/ccws
single-file binary · macOS / Linux / WSL · no Node required
A workspace is just an empty folder. ccws drops a .claude/settings.json into it that points at the real directories you care about, via permissions.additionalDirectories.
Launch Claude Code inside that folder and every linked directory joins the session. Move a file from ~/projects/web into ~/projects/api; both are in scope. ccws is the wiring — you never touch the JSON.
~/.ccws/; discovery is a directory scan.add fails atomically if any path is missing.settings.json keys are preserved on every write; corrupt JSON is never overwritten.~/.ccws/my-work/ ├─ .claude/ │ └─ settings.json │ └─ permissions │ └─ additionalDirectories │ ├─ /Users/you/projects/web │ ├─ /Users/you/projects/api │ ├─ /Users/you/notes/research │ └─ /Users/you/labs/exp └─ open claude here → everything above is in scope
Detects your platform, verifies the SHA-256 checksum, installs to ~/.local/bin.
curl -fsSL https://raw.githubusercontent.com/edditz/ccws/main/scripts/install.sh | sh
Grab ccws-<os>-<arch> from the latest release, chmod +x, put it on your PATH.
bun install then bun run build. Or run it straight from source with bun run src/cli.ts <cmd>.
targets · darwin arm64 · x64 | linux x64 · arm64 | windows x64