Web UI for Claude Code and OpenCode sessions — multi-provider AI coding with multi-session support, WebSocket streaming, file uploads, and slash-command skills.
Prerequisites:
- macOS or Linux
- Claude Code CLI installed and authenticated (
claudemust be in your PATH) - (Optional) OpenCode installed for multi-provider LLM support
One-liner:
curl -fsSL codekin.ai/install.sh | bashThis will:
- Install Node.js 20+ if needed (via nvm)
- Install the
codekinnpm package globally - Generate an auth token
- Install and start a persistent background service
- Print your access URL
Open the printed URL in your browser, enter your Codekin Web token when prompted, and you're ready to go.
codekin token # Print your access URL at any time
codekin config # Update API keys and settings
codekin service status # Check whether the service is running
codekin service install # (Re-)install the background service
codekin service uninstall # Remove the background service
codekin start # Run in foreground (for debugging)
codekin setup --regenerate # Generate a new auth token
codekin upgrade # Upgrade to latest version
codekin uninstall # Remove Codekin entirely- Multi-provider AI — Use Claude Code or OpenCode as the backend per session. OpenCode enables any LLM provider (OpenAI, Gemini, etc.) through a single interface, with full streaming, tool events, plan mode, and permission control
- Multi-session terminal — Open and switch between multiple coding sessions, one per repo
- Agent Joe — AI orchestrator agent that spawns and manages up to 5 concurrent child sessions, with a dedicated chat UI, welcome screen, and color-coded sidebar status indicators
- Git worktrees — Isolate sessions in dedicated worktree directories, with mid-session creation, auto-enable setting, and session context preservation
- Session archive — Full retrieval and re-activation of archived sessions
- Repo browser — Auto-discovers local repos and GitHub org repos
- Screenshot upload — Drag-and-drop or paste images; the file path is sent to the AI so it can read them natively
- Skill browser — Browse and invoke
/skillsdefined in each repo's.claude/skills/, with inline slash-command autocomplete - Diff viewer — Side panel showing staged/unstaged file changes with per-file discard support
- Command palette —
Ctrl+Kto quickly search repos, skills, and actions - Approval management — Persistent approval storage with per-permission revoking, permission mode selector, per-session tool pre-approvals, and
--dangerously-skip-permissionsmode for sandboxed environments - Connection status — Real-time provider health indicators with disable/enable toggles for each backend
- Subscription & API key auth — Works with both Claude subscription (OAuth) and API key authentication
- Mobile-friendly — Responsive layout that works on phones and tablets
- Markdown browser — Browse and view
.mdfiles directly in the UI - AI Workflows — Scheduled code and repository audits and maintenance, with support for custom workflows defined as Markdown files
- GitHub webhooks — Automated bugfixing on CI failures and PR code review via webhook integration
- Upgrade notifications — In-app banner when a newer version is available
codekin upgradeThis checks npm for the latest version, installs it, and restarts the background service if running.
Alternatively, re-run the install script:
curl -fsSL codekin.ai/install.sh | bashcodekin uninstallThis removes the background service, config files, and the npm package.
All configuration lives in ~/.config/codekin/env. Edit this file to override defaults, then restart the service with codekin service install.
| Variable | Default | Description |
|---|---|---|
PORT |
32352 |
Server port |
REPOS_ROOT |
~/repos |
Root directory scanned for local repositories |
For remote servers, custom nginx, or other advanced setups, see docs/INSTALL-DISTRIBUTION.md.
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
