Spacii
A focused, single-editor agent layout for VS Code. Spacii hands the editor area
over to your chat companion — GitHub Copilot Chat or Anthropic Claude
Code — and gives you a sidebar that lists your real conversations and your
GitHub issues side-by-side.
We don't ship a chat. We orchestrate the ones already on your machine.
Highlights
- One-toggle focus mode. A single switch closes stray tabs, hides the tab
bar and the activity bar, tints the sidebar, and opens your configured chat
provider in the full editor area. Flip it off and your previous editor
layout, tab bar, and activity bar come back exactly as they were.
- Real Claude Code sessions. Reads your
~/.claude/projects/*.jsonl
conversations, groups them by workspace, shows their live status (running,
idle, errored), the cumulative USD cost estimate per session, and lets you
click any of them to resume in the editor.
- GitHub issues sidebar. Detects every GitHub remote in your workspace,
authenticates via VS Code's built-in GitHub provider (no
gh CLI required),
and lists issues bucketed by their GitHub Projects v2 Status column.
- Drag-and-drop status. Drag an issue card across columns to update its
Status field on the underlying Project. The diamond on each card mirrors the
Project column colour.
- Start dev, linked. Each issue card has a Start dev button that opens a
fresh Claude Code conversation in the editor, seeded with a per-issue prompt,
and auto-links the new session to the issue once it lands on disk.
- Sessions ↔ issues. Right-click any Claude Code session to assign it to an
open issue. Each issue card exposes a collapsible Sessions disclosure
listing all linked conversations and their cost.
Requirements
- VS Code 1.94 or newer (stable; no proposed APIs used).
- At least one of:
anthropic.claude-code — required for the Sessions list, cost estimation, and Start dev.
GitHub.copilot-chat — supported as the central chat companion, with a placeholder Sessions row (Copilot does not expose a public per-conversation API).
- For the Issues tab: a workspace with at least one GitHub remote. The first
time you open the tab, VS Code will prompt for GitHub access (
repo,
project, read:org scopes).
Getting started
- Install Spacii from the marketplace.
- Open the Agent Sessions icon in the activity bar.
- From the Companion dropdown at the top of the panel, pick Claude Code or
Copilot Chat. Spacii will offer to install the missing extension if needed.
- Flip the Spacii switch on. Your editor area becomes the chat; Spacii's
Sessions and Issues tabs sit in the sidebar.
Flip the switch off (or run Agent Layout: Reset) to restore your previous
editor groups, tab bar, and activity bar.
Commands
All commands live under the Agent Layout category in the Command Palette.
| Command |
What it does |
Agent Layout: Open |
Apply the focus layout and open the configured companion in the editor. |
Agent Layout: Reset |
Restore the editor groups, tab bar, and activity bar captured at the previous Open. |
Agent Layout: Toggle Layout |
Flip between the two states above. Bound to the sidebar switch and the editor-title icon. |
Agent Layout: Switch Provider |
Close the current companion and open the other one in the same slot. |
Agent Layout: Refresh Sessions |
Re-read sessions from disk and re-fetch issues from GitHub. |
Agent Layout: Set Companion |
Persist your companion choice and offer to install the matching extension. |
Settings
| Key |
Type |
Default |
Description |
agentLayout.preferredProvider |
"none" | "copilot" | "claude-code" |
"none" |
Which chat companion to open in the editor area. |
Data and privacy
- Claude Code sessions are read directly from
~/.claude/projects/*.jsonl
on your machine. Cost estimates are computed locally from the per-turn
usage blocks in those files using a hardcoded pricing table. No telemetry,
no network calls.
- GitHub issues are fetched on demand via VS Code's authenticated GitHub
REST/GraphQL endpoints. The auth handshake is the standard built-in VS Code
flow — Spacii never sees your token.
- Hidden / archived sessions are detected by reading VS Code's own
state.vscdb (the same store Claude Code uses to persist hidden IDs). On
Windows, this requires sqlite3 in PATH; without it Spacii degrades to
showing every session, including archived ones.
Known limitations
- Copilot session selection. The public Copilot Chat API does not let third
parties open a specific conversation by ID. Clicking a Copilot row focuses
the Copilot chat in the editor; it does not load a specific past chat.
- Layout vs. existing editors. Open closes any open editor tabs before
applying the layout — Spacii needs the full editor area for the chat. Save
your work first.
- Drag-drop status. Only available for issues attached to a GitHub Projects
v2 board with a single-select Status field. Free-text Status fields render
as labels but are not draggable.
- Issue auto-refresh. GitHub issues are re-fetched at most once every five
minutes to stay well within rate limits. Use the refresh button in the
sidebar header to force a fetch.
Feedback and issues
Bug reports and feature requests:
github.com/binarii-io/spacii/issues.
License
MIT — see LICENSE.
| |