A desktop workspace for Codex, Claude Code, OpenCode, Pi, and ACP coding agents.
See the code
One desktop workspace for the coding agents you already use. CodeInk connects Codex, Claude Code, OpenCode, Pi, and compatible Agent Client Protocol (ACP) agents in a single app. Install and sign in to each agent separately; CodeInk does not ship an agent runtime or ask for its credentials.
Website · Download · Features · Agents · Releases
CodeInk is an independent, open source fork of OpenCode. The upstream MIT notice and provenance remain in the repository; CodeInk's current combined distribution is under GPL-3.0-or-later. See Licensing and attribution.
The four native integrations are Codex, Claude Code, OpenCode, and Pi. CodeInk also includes 22 ACP launch presets and supports custom ACP agents. A preset is a launch definition, not a promise that every agent version has been tested. See agent integrations and setup for protocol details and limitations.
| Platform | Available packages |
|---|---|
| macOS | Apple Silicon and Intel .dmg |
| Windows | x64 .exe installer |
| Linux | x64 and ARM64 .AppImage and .deb |
Get the latest build from getcode.ink/download.html. The page shows Production and Early Access releases, checksums, and release notes from the CodeInk GitHub releases. Early Access can be installed beside Production.
macOS releases require a Developer ID signature and Apple notarization. The v0.1.16 production and v0.1.15-early-access macOS builds were published without them and can show a misleading “damaged” warning. Wait for a newer signed release before installing on macOS. Windows may show SmartScreen. Compare the downloaded file with the release's SHA256SUMS.txt if you want to verify its integrity; checksums do not establish publisher identity.
Existing installations with the old disabled updater need one manual download. New builds can check CodeInk's releases from the app and open the matching channel on the CodeInk download page. Installation remains a manual step.
codex login or claude auth login if those CLIs are your choice.If an agent is missing, check that its CLI is installed and available on the app's PATH. See AGENT-SOURCES.md for supported commands, ACP capabilities, and known limits. For installation questions, see the FAQ and support guide.
The repository uses Bun 1.3.14 and a workspace of TypeScript packages. Node.js 24 is used in release builds. Install dependencies from the repository root:
bun install --frozen-lockfile
bun dev
Useful commands:
cd packages/desktop
bun typecheck
bun test src/test
bun run build
bun run package
Run tests and bun typecheck from the relevant package directory, never from the repository root. The root bun dev command starts the desktop development build. For frontend changes, check packages/app/AGENTS.md; for desktop changes, check packages/desktop/AGENTS.md. Packaging and release details are in RELEASING.md.
| Path | Purpose |
|---|---|
packages/desktop | Electron main process, native integrations, local session bridge, and installers |
packages/app | Solid application and desktop interface |
packages/ui, packages/session-ui | Shared components, themes, and session presentation |
packages/schema, packages/core, packages/sdk/js | Retained browser utilities, schemas, and SDK contracts |
website | Static CodeInk website at getcode.ink |
The desktop connects to independently installed agents through their protocols. It does not bundle Codex, Claude Code, OpenCode, Pi, or an ACP agent executable. UPSTREAM.md records the exact OpenCode revision and explains which upstream components remain in this fork.
Contributions are welcome. Read CONTRIBUTING.md before opening a pull request, use the issue templates for bugs and ideas, and follow the Code of Conduct. For ordinary help, see SUPPORT.md; for a security issue, follow SECURITY.md instead of posting exploit details publicly.
Development happens on development; tested changes are merged into main. Both branches publish their own desktop channel. Pull requests should target development unless a maintainer asks for another base. The release pipeline builds native packages on macOS, Windows, and Linux before publishing a release.
CodeInk's current combined distribution and new CodeInk contributions are offered under the GNU General Public License, version 3 or later (GPL-3.0-or-later). The OpenCode code incorporated into this fork keeps its original MIT copyright and permission notice in licenses/UPSTREAM-MIT.txt; other third-party components retain their own licenses. See LICENSE-NOTICE.md and UPSTREAM.md for the scope and provenance.
Earlier CodeInk releases were distributed under MIT. Changing the license for new releases does not retract permissions granted for those earlier versions. Agent and product names and marks belong to their respective owners; their appearance here does not imply endorsement.
16 commits
TypeScript
95.1%
CSS
4.2%
A desktop workspace for Codex, Claude Code, OpenCode, Pi, and ACP coding agents.
See the code
One desktop workspace for the coding agents you already use. CodeInk connects Codex, Claude Code, OpenCode, Pi, and compatible Agent Client Protocol (ACP) agents in a single app. Install and sign in to each agent separately; CodeInk does not ship an agent runtime or ask for its credentials.
Website · Download · Features · Agents · Releases
CodeInk is an independent, open source fork of OpenCode. The upstream MIT notice and provenance remain in the repository; CodeInk's current combined distribution is under GPL-3.0-or-later. See Licensing and attribution.
The four native integrations are Codex, Claude Code, OpenCode, and Pi. CodeInk also includes 22 ACP launch presets and supports custom ACP agents. A preset is a launch definition, not a promise that every agent version has been tested. See agent integrations and setup for protocol details and limitations.
| Platform | Available packages |
|---|---|
| macOS | Apple Silicon and Intel .dmg |
| Windows | x64 .exe installer |
| Linux | x64 and ARM64 .AppImage and .deb |
Get the latest build from getcode.ink/download.html. The page shows Production and Early Access releases, checksums, and release notes from the CodeInk GitHub releases. Early Access can be installed beside Production.
macOS releases require a Developer ID signature and Apple notarization. The v0.1.16 production and v0.1.15-early-access macOS builds were published without them and can show a misleading “damaged” warning. Wait for a newer signed release before installing on macOS. Windows may show SmartScreen. Compare the downloaded file with the release's SHA256SUMS.txt if you want to verify its integrity; checksums do not establish publisher identity.
Existing installations with the old disabled updater need one manual download. New builds can check CodeInk's releases from the app and open the matching channel on the CodeInk download page. Installation remains a manual step.
codex login or claude auth login if those CLIs are your choice.If an agent is missing, check that its CLI is installed and available on the app's PATH. See AGENT-SOURCES.md for supported commands, ACP capabilities, and known limits. For installation questions, see the FAQ and support guide.
The repository uses Bun 1.3.14 and a workspace of TypeScript packages. Node.js 24 is used in release builds. Install dependencies from the repository root:
bun install --frozen-lockfile
bun dev
Useful commands:
cd packages/desktop
bun typecheck
bun test src/test
bun run build
bun run package
Run tests and bun typecheck from the relevant package directory, never from the repository root. The root bun dev command starts the desktop development build. For frontend changes, check packages/app/AGENTS.md; for desktop changes, check packages/desktop/AGENTS.md. Packaging and release details are in RELEASING.md.
| Path | Purpose |
|---|---|
packages/desktop | Electron main process, native integrations, local session bridge, and installers |
packages/app | Solid application and desktop interface |
packages/ui, packages/session-ui | Shared components, themes, and session presentation |
packages/schema, packages/core, packages/sdk/js | Retained browser utilities, schemas, and SDK contracts |
website | Static CodeInk website at getcode.ink |
The desktop connects to independently installed agents through their protocols. It does not bundle Codex, Claude Code, OpenCode, Pi, or an ACP agent executable. UPSTREAM.md records the exact OpenCode revision and explains which upstream components remain in this fork.
Contributions are welcome. Read CONTRIBUTING.md before opening a pull request, use the issue templates for bugs and ideas, and follow the Code of Conduct. For ordinary help, see SUPPORT.md; for a security issue, follow SECURITY.md instead of posting exploit details publicly.
Development happens on development; tested changes are merged into main. Both branches publish their own desktop channel. Pull requests should target development unless a maintainer asks for another base. The release pipeline builds native packages on macOS, Windows, and Linux before publishing a release.
CodeInk's current combined distribution and new CodeInk contributions are offered under the GNU General Public License, version 3 or later (GPL-3.0-or-later). The OpenCode code incorporated into this fork keeps its original MIT copyright and permission notice in licenses/UPSTREAM-MIT.txt; other third-party components retain their own licenses. See LICENSE-NOTICE.md and UPSTREAM.md for the scope and provenance.
Earlier CodeInk releases were distributed under MIT. Changing the license for new releases does not retract permissions granted for those earlier versions. Agent and product names and marks belong to their respective owners; their appearance here does not imply endorsement.
16 commits
TypeScript
95.1%
CSS
4.2%