Sidelight: the visibility layer my terminal was missing
Published July 8, 2026 by Daniel Annbjer
On visibility, trust, and building the tool you wish existed, with a small team of AIs.
There's a particular kind of evening I've had a lot of this year: Ghostty open, a coding agent working away in one window, and me squinting at a scrolling chat trying to figure out what it just did to my project. I'm a designer who tinkers with code, which I can read and I try keeping up with modern frameworks so I know what I'm working with, but I don't write applications from scratch, and my favorite place to work is a fast, minimal terminal: local, zero distractions and weird app behaviors.
That weekend, that small recurring frustration clashed with a hot Friday, a few free days, and a new AI model I'd been curious about. This is the story of sidelight, a little tool we built together over a weekend and some change. But it's also about the bigger thing I keep noticing: the distance between this annoys me and this exists now is now mostly just a conversation away.
The problem
IDEs and the polished GUI apps for Claude and Codex give you everything at a glance: a file tree, git status, what the AI just changed, what it cost. That overview is half the reason people tolerate heavyweight tools.
But some of us don’t work that way. We prefer a terminal. For me, it’s Ghostty, fast and minimal, running PI as a model-agnostic coding agent. It's a setup I love: local, quiet, no telemetry, no forty panels fighting for attention. But it had one real gap: when an AI agent is working in your terminal, it's really difficult to see what's going on. Which files exist? What did it just change? What has this session actually touched, and what did it cost? I found myself alt-tabbing to other apps just to look at my own project, apps with accounts and cloud sync and telemetry, exactly the things I'd gone to the terminal to avoid.
The agentic era has a specific anxiety: the machine is doing things, and your window into it is a scrolling chat. I didn't want more features. I wanted peripheral vision.
What I built
Sidelight is a small terminal app that runs in a split window beside your AI coding session. A sidelight is the narrow window beside a front door, a slim pane next to your main one. That's the whole idea.
Four panels: your file tree, git status (live diff stats, colored diffs on Enter), search (smart-case, filename and content matches, jump to the exact line), and sessions, what each agent session touched, how many prompts and tool calls, and for PI, what it cost. Press y to yank any path straight to your clipboard and paste it into the agent's chat.
And underneath the panels, the actual product: a set of guarantees. Sidelight is read-only toward your project, it never edits, stages, or commits. It has no network access and no telemetry. It never runs anything except git. Secret-looking files (.env*, keys, certs) don't render, don't match in search, don't preview, don't copy. The session recorders capture metadata only, never your prompts, never the AI's replies, never command strings, into plain JSON files you can cat and read yourself. The whole codebase is small enough to read in an afternoon, and that's a supported use case.
Why I built it, and how
The idea had been sitting in my head for months, every time I alt-tabbed out of a perfectly good terminal. What finally moved it was a hot July weekend and a window of opportunity: Anthropic's new Fable model was available on my plan for a few more days, and I decided to spend the weekend seeing what all the talk was about.
It was also one of those strange heat-dome weeks in Europe, the kind where the apartment starts to become part of the weather. Milan and parts of Europe were crossing 40°C, and the only place that felt workable was the line of airflow between our two terraces. So I stood there with the MacBook open, Ghostty and PI running, a fan of moving air through the flat, and Jogging House's Live in the Backyard playing on the tv in the background creating a sort of oasis, soaked in lush ambience mixed with wind gusts making it the perfect spot.
Work in progress: discussing naming and direction with an agent inside PI while Sidelight was taking shape, with Jogging House playing in the background and the apartment arranged around cross-breeze survival.
I didn't ask Fable to write code. I started a dialogue. We started from a research brief I'd drafted up, should this be a Python script, a TypeScript app or a VS Code fork? Fable verified licenses, checked what Ghostty actually exposes (no plugin API, a split pane is the integration), and steered me away from every over-engineered path. Then we split the work the way you'd staff a small team: Fable and I made every decision and wrote specifications so precise they contained no decisions at all; Codex built the code from those briefs; and other AI models, Claude Opus and GPT-5.5, audited everything independently, five times over. The audits caught real things: a symlink escape and a Node version mismatch. One human, three AIs, clearly separated powers.
That was the whole weekend, plus a Monday and Tuesday of polish. By Tuesday night it was on npm, with 126 tests and a paper trail.
Who it's for
Terminal-first developers who feel that same gap. Privacy-conscious people working on client code or in air-gapped setups who can't, or won't, pipe their projects through cloud tools. And anyone running agents in a TUI: it was built beside PI, but the Sessions panel also works with Claude Code and Codex through their hooks systems, so whichever agent-harness you prefer, the same quiet catalog appears.
It is deliberately not for people who want a GUI, a mouse, or another IDE. There's a PHILOSOPHY.md in the repo listing what sidelight will never do: no write access, no network, no daemon, no index, no plugin system. The boundaries are the feature.
A closer look
The split: sidelight's file tree on the left, the agent working on the right.
Press 2, then Enter on any changed file: what the agent actually did to your code.
A session snapshot: counts, files touched, cost, and nothing else. cat one yourself.
How to get it
npm install -g sidelight
sidelight
Then, if you want session awareness for your agent (each is one command, shows you the exact config change, and asks before writing):
pi install npm:sidelight # PI
sidelight-claude-code-hook --install # Claude Code
sidelight-codex-hook --install # Codex
Source, philosophy, and the full README: github.com/annbjer/sidelight. MIT licensed, free, no strings.
Closing thoughts
The thing I keep coming back to isn't the tool, it's what building inside of it felt like. I saw a gap in my own workflow, described it to an AI on a Friday, and by Tuesday there was a real, audited, published tool filling it. Not a prototype: a thing with a philosophy document and a test suite, built by a small team where only one member was human.
That's the part that still awes me. That collapse I mentioned at the start, between "this annoys me" and "this exists now", I watched it happen in real time, over one weekend. Noticing the problem turned out to be most of the work. And the result, for me, is calm: my screen split in two, my project visible, my agent legible, everything local, nothing phoning home. Simple, relaxing, almost zen.
If your terminal has the same gap mine did, sidelight is there. And if it makes your workflow a little more yours, that's everything it was built for.