I'm building Tessera — an open-source AI coding workspace for running multiple agents (Claude Code, Codex, OpenCode) in parallel.
Runs as a self-hosted web app or as a native desktop app on macOS and Windows.
I started it because the terminal-tab approach broke down fast for me. After a few hours, I'd start mixing things up: which sessions were just ideation, which were already running real work in their own worktrees, which had a PR open, which had been merged.
It's a local workspace (Next.js server + optional Electron shell). The design principle is simple: preserve the core CLI workflows and controls, add only what a visual workspace can.
Each CLI sits behind its own provider adapter
The workspace layer adds:
- parallel multi-panel workspace — have Claude Code research one issue, Codex refactor another part of the codebase, and OpenCode with a local model handle a bug fix
- multi-project import — work on several repos at once
- rich drag-and-drop everywhere — panels, tabs, sessions, and tasks can all be moved and rearranged
- chat-to-work flow — start in freeform chat, then continue the same context with another agent or promote it to a worktree-backed task
- scrollable, searchable agent activity timeline — inspect tool calls, prompts, plans, approvals, and reasoning step by step instead of scrolling through multiple terminals
- real-time diff and PR status — see what changed and where the work stands as the task moves from code changes to review
- AI-generated session titles, so every session is recognizable at a glance without naming them yourself
- custom collections — organize sessions into folder-like groups
- local-first storage (SQLite under ~/.tessera/, no cloud sync)
Install: npm install -g @horang-labs/tessera, then run tessera. Or grab a Windows/macOS build from Releases. Apache 2.0.
For the past 2 months I've been building Tessera with Tessera, plus several other projects on top of it. It has been stable in my daily workflows, but rough edges likely remain in less-traveled flows. Bug reports, feedback, and feature requests are all very welcome.


