Something has shifted under software development, and the workspace hasn't caught up.
For most of the discipline's history, the unit of work was the keystroke. Then it was the line, the file, the pull request. Now, increasingly, it's the task. You describe what needs to happen. An agent does it. You review the result.
The interesting question is no longer whether an AI can write the code. It's whether you can run five agents at once and stay oriented.
A new shape of work
The serial loop, one developer, one IDE, one task at a time, is dissolving. In its place is something parallel. A single engineer can now have multiple agents working at once: one refactoring, one writing tests, one chasing down a bug, one drafting a migration. Each is touching real code, in a real repository, against real constraints.
This isn't autocomplete with better suggestions. It's a different mode of working. You're not the author of every line. You're deciding what gets built, by whom, and when.
But the tools assume the old shape. IDEs were built for one human typing into one buffer. Terminal CLIs were built for one human directing one agent through one conversation. Cloud agent products assume execution lives on someone else's machine. None of them were designed for what's actually happening on people's laptops right now: a developer with five sessions open, all making changes, all needing attention at different intervals, all colliding in the same working directory.
That gap is what Lanes was built to close.
What Lanes is
Lanes is a native macOS workspace for running AI coding agents in parallel, locally. Every session lives on an issue card you drag through Planning, Implementation, Review, and Done. Every card has its own real terminal running Claude Code, Codex, or whatever CLI you prefer, in your actual shell, with your dotfiles and config. Every card has its own git worktree on its own branch, so sessions don't fight over the same files.
Around that core, Lanes pulls in everything that used to live in separate apps. The board, the terminals, the editor, the diffs, the commits, the PRs, the tickets, the integrations. One window. Your machine. Your code never leaves.
What ships today
- Issue Board. Drag issues through Planning, Implementation, Review, and Done. Multi-select, dependencies with cycle detection, per-repo labels in 13 colors, filtering by label, directory, or workflow step. Workflow status auto-detects from the agent's mode (planning vs. implementing).
- Live Terminals. Real PTY sessions running Claude Code, Codex, or any AI CLI. Resume across restarts. Real-time status: busy, awaiting input, stopped, error. Bell notifications when a session needs you. Configurable display modes and explicit stop controls.
- Worktree Management. Auto-create git worktrees with generated branch names per issue. Real-time tracking of uncommitted and unmerged state. Auto-cleanup when an issue hits Done. Startup and teardown scripts run automatically.
- Git Changes and History. Monaco inline diffs for both working tree and committed history. Auto branch detection from the active worktree. Commit composer with summary and description. Open a pull request directly from the diff view.
- GitHub and Linear Integrations. OAuth-based connections. Import open tickets onto the board, search with shorthand (
#9,ENG-9), see which tickets are already imported, jump back to the upstream issue, and write PR links and comments back automatically. Tokens are stored locally, nothing is proxied through our servers. - File Browser and Editor. Sidebar file tree with persistent expand state. Monaco editor with tabbed editing, dirty tracking, syntax highlighting, save on Cmd+S.
- Local MCP Server. Agents can read and write the board, control sessions, and pull terminal scrollback over
localhost:5353. Pair Lanes' MCP with Linear's and GitHub's in the same chat. One-click setup for Claude Code and Codex. - Quick Commands. Preset and custom commands on Cmd+Alt+1 through 9. Two types: CLI commands injected into the agent's session, and shell commands run directly.
- Per-Project Configuration. A
.lanes/directory in each repo holds its own labels, CLI flags, and quick commands. Settings travel with the project. - Process Manager, Attachments, Completion Sounds, Session Statistics. Token usage, duration, per-tool counts. Drag screenshots into issues. A gong when an issue hits Done.
Why "Lanes"?
Lanes on a road let traffic flow in parallel without collisions. Each AI session gets its own lane: its own card, terminal, branch, and working directory. Structured parallelism with clear boundaries and a shared destination.
Where this is heading
The shift from typing every line to specifying what gets built is still early. Most developers are running one or two agents because that's what their tools can hold. As the workspace catches up, the natural ceiling will rise: three, five, ten sessions in flight at once, each one doing what would have been a full afternoon of work a year ago.
What looks like a productivity tool right now is closer to a category change. The role of the developer is moving from producing every artifact to specifying it, reviewing it, and connecting it to everything else the business cares about. The workspace has to make that role legible. It has to hold the parallelism, surface the state, and keep the human in the loop without making the human the bottleneck.
That's what Lanes is for.
Get started
Lanes is available for macOS and in active development. To get access, join our Discord community, where you'll find installation instructions and can share feedback directly with the team.
If you've got more than one session in flight, start here.