---
title: "Sidecar · Marco Dong"
description: "Sidecar is a companion window for Claude Code. Review every change line by line and send comments back into the conversation."
canonical_url: "https://madong.me/sidecar"
meta:
  "og:description": "Sidecar is a companion window for Claude Code. Review every change line by line and send comments back into the conversation."
  "og:image": "https://madong.me/_og/s/o_17814d1330f4b346.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "Sidecar · Marco Dong"
  "twitter:image": "https://madong.me/_og/s/o_17814d1330f4b346.png"
---

> Index of every page on this site: [llms.txt](https://madong.me/llms.txt)

# Sidecar

A companion window for Claude Code.

Sidecar sits next to Claude Code and follows the conversation you're in. You review what Claude changed, line by line, and when you comment on a page it built, the comment lands back in the conversation.

## Review, comment, undo.

Each one as it looks in the window.

### Review

Approve or reject a line, a hunk, a file or a whole folder. Claude hears about every reject, and `⌘Z` takes back your last 50 decisions.

### Comments

Select anything on a page Claude built and leave a note. Send it, and it reaches the conversation as your own message.

### Follows you

Switch terminal tab or start typing in another session, and Sidecar moves there with you.

## What the file held before

A hook keeps it before Claude's first edit, so every change can be undone.

app/pages/index.vue

148 \<section class="line wrap" aria-labelledby="line-title">

149 − \<h2 id="line-title" class="heading">One rule runs through all three.\</h2>

153 \</SiteMount>

154 − \<p class="small">A toy version that matches words. Sage and AI Shell ask a separate model to rate every step, never the one that wrote it.\</p>

173 \<h2 id="standard-title" v-enter.words class="heading">How I work\</h2>

148 \<section class="line wrap" aria-labelledby="line-title">

149 + \<h2 id="line-title" v-enter.words class="heading">One rule runs through all three.\</h2>

153 \</SiteMount>

154 + \<p v-enter class="small">A toy version that matches words. Sage and AI Shell ask a separate model to rate every step, never the one that wrote it.\</p>

173 \<h2 id="standard-title" v-enter.words class="heading">How I work\</h2>

174 + \<p v-enter class="body">Agents write a lot of my code. I wrote the rules they work under, I review what they ship, and nothing goes out under my name that I can't explain.\</p>

175 + \<span v-enter.line class="rule" aria-hidden="true" />

## The numbers

- 50 decisions back
- 1 copy before the first edit
- 4 grains: line, hunk, file, folder
- 1 s to follow your tab

## Questions

<details>

<summary>Does it touch my files?

</summary>

It keeps what a file held before Claude's first edit, so every change can be read and undone.

</details>

<details>

<summary>How far back?

</summary>

Fifty decisions.

</details>

<details>

<summary>Does it follow me?

</summary>

Start typing in another session or switch tab and it moves there with you.

</details>

<details>

<summary>Where does a note go?

</summary>

Into the conversation, as your own message.

</details>

## Built with

Nuxt and a small local server, wired into Claude Code through hooks. Before Claude's first edit to a file, a hook keeps what the file held, so every change can be reviewed and undone.

- Nuxt
- Claude Code hooks

## Next

## Sage

A Mac assistant in the notch. Hold a key, say what you want in English, Italian or Chinese, and it does the steps, asking before anything it can't undo.

[See Sage](https://madong.me/sage)

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://madong.me/#website","@type":"WebSite","description":"Marco Dong, AI product engineer in Milan. I build AI products end to end: Sidecar, Sage and AI Shell at Cela, and agents at Klarna and Moneyfarm.","name":"Marco Dong","url":"https://madong.me/","publisher":{"@id":"https://madong.me/#identity"}},{"@id":"https://madong.me/sidecar#webpage","@type":"WebPage","description":"Sidecar is a companion window for Claude Code. Review every change line by line and send comments back into the conversation.","name":"Sidecar","url":"https://madong.me/sidecar","isPartOf":{"@id":"https://madong.me/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://madong.me/sidecar"]}]},{"@id":"https://madong.me/#identity","@type":"Person","jobTitle":"AI Product Engineer","name":"Marco Dong","url":"https://madong.me","address":{"addressLocality":"Milan","addressCountry":"IT"},"alumniOf":[{"@type":"CollegeOrUniversity","name":"University of Bologna"},{"@type":"CollegeOrUniversity","name":"Bologna Business School"}],"knowsLanguage":["it","en"],"sameAs":["https://www.linkedin.com/in/marcodong-838453","https://github.com/EthanITA"],"worksFor":{"@type":"Organization","name":"Klarna"}},{"@id":"https://madong.me/sidecar#/schema/software-application/1","@type":"SoftwareApplication","applicationCategory":"DeveloperApplication","description":"Sidecar is a companion window for Claude Code. Review every change line by line and send comments back into the conversation.","name":"Sidecar","author":{"@id":"https://madong.me/#identity"}}]}
```

## Sitemap

See the full [sitemap](https://madong.me/sitemap.md) for all pages.
