A tabbed desktop workspace for Claude Code
The application includes a sidebar tree that lists nested projects, open tabs, active pane badges, and inline buttons to launch new agent or shell sessions.
By Dillip Chowdary β’ Oct 10, 2026 β’ Source: github.com
Community developers launched InkShell, an open-source tabbed desktop workspace engineered for developers who run coding-agent command-line interfaces like Claude Code and Opencode. As documented in github.com's report, the application acts as a thin desktop wrapper around locally installed CLI binaries rather than a standalone fork or repackaged executable. By spawning the user's existing terminal binaries inside pseudo-terminals, InkShell ensures developers run original, stable CLI releases without version lag, credential exposure, or configuration drift between projects.
This article details the architecture, workspace capabilities, performance gains, installation requirements, and roadmap for InkShell. Designed for engineers juggling multiple repositories, the project provides a unified environment to manage parallel agent sessions, local terminal operations, git history, and Monaco-based file editing in a single desktop window.
What shipped in A tabbed desktop workspace for Claude Code
InkShell shipped as a universal macOS desktop application built with Electron, React, xterm.js, and Monaco Editor. The workspace introduces a flexible pane layout supporting one, two, or four concurrent views with drag-and-drop management for chats, files, terminal sessions, and diffs. Users can toggle between Claude Code and Opencode sessions side by side in the same project window, with every process running inside its own pseudo-terminal via node-pty while maintaining isolated histories, session stores, and environment flags.
The application includes a sidebar tree that lists nested projects, open tabs, active pane badges, and inline buttons to launch new agent or shell sessions. Additional built-in features feature a git panel for staging, committing, and branch history tracking, a fuzzy-search Quick Open modal, clickable file path verification against local disks, per-project accent colors, custom CLAUDE_CONFIG_DIR targeting, and global launch defaults for CLI parameters like --model and --effort.
What improved in A tabbed desktop workspace for Claude Code
InkShell improves developer workflow efficiency by eliminating context-switching costs and terminal alias maintenance across isolated projects. Instead of managing separate terminal tabs or juggling .envrc files, developers assign dedicated configuration directories, accent colors, and default CLI models per project. Off-screen pane minimization allows long-running agent chats or background processes to execute continuously in node-pty without process termination or state loss.
| Feature / Metric | Standard CLI Execution | InkShell Workspace |
|---|---|---|
| Concurrent Pane Views | Single active viewport | 1, 2, or 4 split views |
| Multi-Agent Support | Separate terminal windows | Claude Code & Opencode side-by-side |
| Project Isolation | Manual shell aliases / env vars | Per-project CLAUDE_CONFIG_DIR |
| File & Diff Viewing | External editor / terminal diff | Native Monaco editor & diff panes |
| Transcript Storage | ~/.claude/projects read-only | Direct transcript sync & resume |
By reading transcript databases directly from ~/.claude/projects and Opencode's session storage, InkShell displays past sessions named with the CLI's native ai-title identifiers. Clicking a historical item resumes the session immediately in an active pane, while right-clicking removes it from the index without corrupting the underlying CLI data stores.

What you gain from A tabbed desktop workspace for Claude Code
Developers using InkShell gain a desktop workspace while retaining terminal CLI compatibility. Because InkShell never writes directly to CLI configuration files or transcript databases, closing the application leaves all underlying agent histories, login credentials, and session files intact in their default operating system paths. Work and personal credentials remain strictly segregated across project directories without requiring complex shell configurations.
Advertisement
Tech Pulse Daily
Get tomorrow's pulse first
Join engineers who read Tech Pulse before stand-up. Free, weekday mornings.
The integration of plain $SHELL terminals alongside agent panes enables developers to run interactive git rebases, build scripts, or dev servers without consuming model tokens or context windows. Integrated Monaco editor panes allow instant side-by-side code inspection, file editing, disk-verified link navigation, and diff comparisons right next to the active AI agent session writing the code.
How to get A tabbed desktop workspace for Claude Code
To install the prebuilt universal application on macOS, users execute the official curl installation script in their terminal:
curl -fsSL https://raw.githubusercontent.com/inkshell/inkshell/main/install.sh | shFor manual installation or building from source across macOS, Windows, and Linux environments, Node.js version 20 or higher and npm are required. Run the following shell commands to clone the repository, install dependencies, and launch development or packaging builds:
git clone https://github.com/inkshell/inkshell.git
cd inkshell
npm install
npm run devTo build distributable application packages for specific platforms, execute the target packaging command:
npm run pack:mac
npm run pack:win
npm run pack:linuxTo configure global default models passed verbatim to spawned agents, update Settings within the app. Project-specific model overrides and custom CLI binary locations can also be defined via environment variables:
export INKSHELL_CLAUDE_BIN="/usr/local/bin/claude"
export INKSHELL_OPENCODE_BIN="/usr/local/bin/opencode"What to watch after A tabbed desktop workspace for Claude Code
Following the initial macOS release, development focuses on expanding platform support and agent integrations. Official Windows and Linux build targets are included in the repository configuration, with community testing and issue feedback actively underway to finalize native installer parity across operating systems.
On the agent integration front, the development team plans to expand beyond Claude Code and Opencode. Upcoming releases will add pseudo-terminal integration and transcript parsing support for Codex and GitHub Copilot, advancing the project's goal of offering a multi-agent desktop environment tailored to developer workflows.
Developer Action Items
- β Diff the official changelog for Claude / GitHub / macOS before you bump β APIs, defaults, and removed flags only.
- β Install through the vendor's documented channel in staging; keep a one-command rollback and time-box the canary.
- β Grep your repo for old flag names, lockfile pins, and plugin versions that the notes mark as breaking.
- β Prefer the first patch cut over the day-zero tag unless you have a reason to be on the leading edge.
- β If HN Claude/Codex/Fable did not name a region, plan, or SKU, screenshot the official availability line before you promise it to users.
A tabbed desktop workspace for Claude Code FAQ
What command-line agents does InkShell support?
InkShell currently supports Claude Code and Opencode, with support for Codex and GitHub Copilot planned for future releases.
How does InkShell install on macOS without Gatekeeper quarantine errors?
Installing via the official curl script avoids browser quarantine flags, or users can manually clear the attribute using xattr after moving the unzipped bundle to Applications.
Does InkShell modify underlying Claude Code or Opencode CLI configurations?
No, InkShell reads CLI transcripts and session stores without modifying them, storing its own application settings separately in ~/.inkshell/config.json.
Sources
Author
Dillip Chowdary
Writes Tech Bytes coverage of AI, engineering, and the tools that actually ship. Editor of Tech Pulse Daily.
Related on Tech Bytes
Fairphone is launching its latest repairable phone in the US too
Read β
Detroit startup Grounded raises $5M to customize electric and gas-powered vans
Read β
BGP Role model: tracking the adoption of RFC 9234
Read β
We still donβt know how people are really using AI
Read β
Today's Tech Pulse briefing
Full briefing β
Advertisement