Repository navigation
Releases: synaptik-app/synaptik
Release list
0.3.0
Mark inside blocks, and discuss a block before you send. Both are in fullscreen.
New since 0.2.2
- Step into a code block or a table (#105). Its menu has
↳ step in. Then↑/↓move between its lines or data rows, which take marks and comments of their own. In the prompt they nest under their block:A block with only marked lines shows"table: Option · Latency · Cost" ✗ row 2: "Memcached · low · $" → too little durability✸in the margin. Backspace takes the block's own mark first, then its lines' marks. - Discuss a block in a thread (#106).
dor💬 discussopens a pane for that block. You talk it over with the agent there, and nothing reaches the main conversation. Several threads can run at once, as tabs.- Switch on
include in review, and closing the pane (Esc) writes a summary: what was decided, as your instruction to the agent. It goes into your review under the block's quote, and you can edit it in the prompt box before sending. - Each message reads the main conversation from the prompt cache, so a thread costs little more than its own text.
- Switch on
- A shorter suggestion while you review (#143). It shows its first lines and
… (+N lines). The full text comes back when the review ends.
Fixed
/resumeand/clearinside a running session (#147). Synaptik now picks up the new conversation's reply, or none after/clear. It no longer keeps reviewing a reply that's gone.
Known limits
- Opening or closing a thread hands the keyboard to the prompt. A click on a block continues the review.
- From the reply, a thread opens only on a terminal at least 144 columns wide. On a narrower one, use
ctrl+x tab, thend. - These, and what Claude Code would need to lift them, are tracked in #146.
Install
Claude Code v2.1.301+ in a terminal.
claude plugin marketplace add synaptik-app/synaptik
claude plugin install synaptik@synaptik-appComing from 0.2.2: claude plugin marketplace update synaptik-app && claude plugin update synaptik@synaptik-app.
Offline: download synaptik-0.3.0.zip below, and see the README.
Full changelog: v0.2.2...v0.3.0
0.2.2
A small release: Synaptik gets simpler, ahead of its submission to the plugin directory.
Changed since 0.2.1
/synaptik configis gone (#138). It only offered ←/→ in place of Tab/⇧Tab in the default renderer, and Tab/⇧Tab work.- Synaptik no longer reads or writes key bindings. It doesn't touch
keybindings.jsonor read environment variables any more.- The band always names Claude Code's defaults,
ctrl+x tabandtab/⇧tab. If you rebound those, your keys still work, but the band shows the default. - Bindings the setup already wrote stay in your file, and they still work. Remove them from
~/.claude/keybindings.jsonif you don't want them.
- The band always names Claude Code's defaults,
- A plugin icon (#136).
Install
Claude Code v2.1.301+ in a terminal.
claude plugin marketplace add synaptik-app/synaptik
claude plugin install synaptik@synaptik-appComing from 0.2.1: claude plugin marketplace update synaptik-app && claude plugin update synaptik@synaptik-app.
Offline: download synaptik-0.2.2.zip below, and see the README.
Full changelog: v0.2.1...v0.2.2
0.2.1
A small release on top of 0.2.0: one fix, and two keys for undoing what you've staged or typed.
New since 0.2.0
- Fixed: moving through a reply split by tool calls (#131). After a click, ↑/↓ and Home/End stopped at the edge of the part you clicked in. They now run over the whole reply.
- Backspace takes a block's mark off (#100). The legend shows
⌫ unmark. A comment's text stays, andcbrings it back. It works in a review started with a click; afterctrl+x taband in the default renderer, Claude Code doesn't let a mod bind it yet. ctrl+uclears the comment you're typing (#122), every line, in a review started with a click. Afterctrl+x tabthe field is Claude Code's own, andctrl+uclears only the current line.- Synaptik stays out of
claude -pand the SDK (#127): with nobody at the prompt, it registers and draws nothing.
Install
Claude Code v2.1.301+ in a terminal.
claude plugin marketplace add synaptik-app/synaptik
claude plugin install synaptik@synaptik-appComing from 0.2.0: claude plugin marketplace update synaptik-app && claude plugin update synaptik@synaptik-app.
Offline: download synaptik-0.2.1.zip below, and see the README.
Full changelog: v0.2.0...v0.2.1
0.2.0
Review the agent's reply in place. Synaptik turns your review into one prompt.
0.2 polishes the core loop: in fullscreen you now review right in the reply, with no pane beside it.
New since 0.1.0
- Fullscreen reviews the reply itself (#39).
- Click the band's hint, "click here to review the reply", or press
ctrl+x tab. - ↑ / ↓ move between blocks (
j/kfrom the keyboard entry), ← / → choose an action, ⏎ or a click applies it.a/x/cstill apply directly. qends the review. Outside a review the reply is plain text you can select.- The map pane is gone, so a narrow terminal no longer squeezes the reply (#75).
- Click the band's hint, "click here to review the reply", or press
- Multi-line comments in both renderers (#16). A comment is typed right under its block;
\then ⏎ starts a new line. In the prompt, its lines line up under the first. - The band, redesigned. It shows what is staged,
✓2 ✗1 ✎1, and what ⏎ will do: "tab, then ⏎ to send", "⏎ sends your feedback", or a warning when ⏎ would send what you typed instead. - The suggestion in the prompt box (#21). The ✓ ✗ ✎ glyphs are coloured from the first keystroke, and the suggestion no longer starts with a space.
/synaptik config, simpler (#113). One setting for the default renderer: move between actions with Tab / ⇧Tab or ← / →. It never touches Claude Code's own keys, and fullscreen needs no setup.- The default renderer speaks fullscreen's words: "review the reply", "↑↓ blocks · ←→ actions", and
qends a review there too. - Fixed: clicking an action keeps the keyboard in the reply, and the item under the mouse lights up (#117). Revealing the end of a long reply no longer picks an older turn's row.
- Under the hood: 281 tests, run in CI on Claude Code 2.1.301 and 2.1.308.
Install
Claude Code v2.1.301+ in a terminal (0.1.0 needed 2.1.287). Check yours with claude --version.
claude plugin marketplace add synaptik-app/synaptik
claude plugin install synaptik@synaptik-appComing from 0.1.0: claude plugin update synaptik@synaptik-app. Without a GitHub SSH key, set CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 first.
Offline: download synaptik-0.2.0.zip below, then:
# every session
unzip synaptik-0.2.0.zip -d ~/.claude/skills/
# or one session only
claude --plugin-dir ./synaptik-0.2.0.zipAfter a reply, the band above the prompt says how to start; /synaptik help lists the commands. A mod runs inside Claude Code with your own permissions and is not sandboxed; see SECURITY.md. The only file Synaptik writes is keybindings.json, through /synaptik config, on Save.
Tested on
macOS Terminal.app, in fullscreen and the default renderer. Other terminals, Windows, Linux, IDE terminals, tmux and SSH: a note on #13 helps.
Known limits
- The default renderer can't redraw what has scrolled off, so its navigator shows the selected block above the prompt, and may not open by itself on a terminal narrower than about 144 columns. The band then offers to open it.
- Esc doesn't end a fullscreen review;
qdoes. Claude Code doesn't tell a mod about Esc. - While reviewing, the reply's text can't be selected: each block takes the mouse. Outside a review it can.
- Only the last reply can be marked, and marks last for the session.
- A Claude Code update can break Synaptik. An issue with your
claude --versionhelps.
What comes next is on the roadmap.
Full changelog: v0.1.0...v0.2.0
0.1.0
The first release of Synaptik: accept, reject or comment on any part of the agent's reply in Claude Code, and Synaptik turns your marks into one prompt.
Still early: it is built on Claude Code's young mods API, and keys and layout may change before 1.0.
What it does
- Mark any part of the reply in place: a paragraph, a step in a plan, an item in a list, a code block, a table or a quote. Use ✓ accept, ✗ reject or ✎ comment, one key each.
- Nesting is kept. "Yes to the plan, no to this sub-step" reaches the agent with its structure. A marked item arrives under its parent.
- One prompt, in your own words. Your marks compile into a suggestion in the prompt box.
Tabtakes it and⏎sends it. Nothing reaches the agent until you send, and Synaptik adds no markers or identifiers. - Both renderers: fullscreen reviews the reply in place, with a map of its blocks docked beside it. Classic shows the selected block above the prompt.
New since 0.1.0-alpha.3
- Blocks follow the Markdown, not the spacing (#50).
- Nesting comes from the list's structure, so an item indented by 4 spaces, or nested under
10., is one level down. - Code, tables and quotes are always blocks of their own, nested under their list item when they sit inside one. So a command in a step can be marked on its own.
- Headings underlined with
===or---, a quote right after a paragraph, and four-backtick fences are handled.
- Nesting comes from the list's structure, so an item indented by 4 spaces, or nested under
- Nested items line up as Claude Code draws them: 2 columns under
-, 3 under1.. Before, there was always 3, which put items under a bullet one space too far in. - Quotes in the prompt keep the text intact:
SESSION_CACHE,#12anda > bno longer lose characters. - Sending is yours alone. The navigator's hidden
skey, which sent the prompt directly, is gone. You take the suggestion and send it. - Long blocks draw on Claude Code 2.1.287. A block over 10,000 characters is drawn in pieces, where it used to drop the reply back to Claude Code's own drawing.
- Under the hood: the marking rules are now one tested module (#51). There are 221 tests, run in CI on Claude Code 2.1.287 and 2.1.304.
Install
Claude Code v2.1.287+ in a terminal.
claude plugin marketplace add synaptik-app/synaptik
claude plugin install synaptik@synaptik-appWithout a GitHub SSH key, set CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 first. claude plugin update synaptik@synaptik-app brings later versions.
Coming from an alpha zip? Remove ~/.claude/skills/synaptik first. With both installed, the marketplace copy loads and the zip copy shows as "Not loaded".
Offline: download synaptik-0.1.0.zip below, then:
# every session
unzip synaptik-0.1.0.zip -d ~/.claude/skills/
# or one session only
claude --plugin-dir ./synaptik-0.1.0.zipOnce it's in, the band above the prompt says how to start after each reply. /synaptik help lists the commands, and /synaptik config sets better keys. A mod runs inside Claude Code with your own permissions and is not sandboxed; see SECURITY.md. The only file Synaptik writes is keybindings.json, through /synaptik config, on Save.
Tested on
macOS Terminal.app, in fullscreen and classic, and Windows Terminal (PowerShell 7).
Not yet tested:
- other macOS terminals: iTerm2, Ghostty, kitty, WezTerm
- other Windows shells and consoles: PowerShell 5.1, cmd, Git Bash, WSL, conhost
- Linux terminals
- IDE terminals: VS Code, Cursor, JetBrains
- tmux, screen and SSH
If you use one of these, a note on #13 helps.
Known limits
- Only the last reply can be marked, and marks last for the session.
- 💬 discuss, a side thread about one block, is phase 2. Choosing it only says so.
- Code blocks and tables are marked as a whole (#5, #6).
- No key clears a mark yet. The same verb again unmarks ✓ and ✗ (#100).
- In fullscreen, a reply taller than about two screens has a middle Synaptik can't scroll to. Scroll there yourself, or use Home / End (#64).
- On a narrow terminal, the navigator opens above the band and repeats the block shown in the reply (#75).
- Another mod that redraws replies may be bypassed while you review.
- A Claude Code update can break Synaptik. An issue with your
claude --versionhelps.
Feedback
An issue is the most useful thing you can send: a bug, or what felt wrong or missing on a real reply.
Full changelog: v0.1.0-alpha.3...v0.1.0
0.1.0-alpha.3
The third pre-release of Synaptik: accept, reject or comment on any part of the agent's reply in Claude Code, and Synaptik turns your marks into one prompt.
Still early: phase 1 is in progress (milestone). Expect rough edges.
New since 0.1.0-alpha.2
- Install from the marketplace. This repository is its own plugin marketplace, so Synaptik installs and updates with
claude plugin, no zip needed (below). - Terminal only. Synaptik stays out of the Claude Desktop app's Code tab and the mobile app, which have review features of their own. Any terminal works, including those in VS Code, Cursor and JetBrains IDEs.
/synaptik configfinds yourkeybindings.jsonwhere Claude Code keeps it, including underCLAUDE_CONFIG_DIR, and says so when it can't write it instead of failing silently./synaptik configoffers presets only for now:ctrl+x taborctrl+sto open, and Tab / ⇧Tab or ← / → to choose an action. Other keys go in the file by hand (#80).- No more "Block 1 of 0" when there is no reply to mark.
/synaptik configalso closes the pane it opened. - Claude Code 2.1.304: subagent turns no longer reset or redraw the review. CI runs on 2.1.287 and 2.1.304.
- Under the hood: the prototype is refactored into pure logic, views and hooks (#49). There are about 175 tests.
Install
Claude Code v2.1.287+ in a terminal.
claude plugin marketplace add synaptik-app/synaptik
claude plugin install synaptik@synaptik-appWithout a GitHub SSH key, set CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 first.
Offline: download synaptik-0.1.0-alpha.3.zip below, then:
# every session (remove an older ~/.claude/skills/synaptik first)
unzip synaptik-0.1.0-alpha.3.zip -d ~/.claude/skills/
# or one session only
claude --plugin-dir ./synaptik-0.1.0-alpha.3.zipUse one install or the other. A mod runs inside Claude Code with your own permissions and is not sandboxed; see SECURITY.md. The only file it writes is keybindings.json, through /synaptik config, on Save.
Known limits
- 💬 discuss is phase 2; choosing it only says so.
- Only the last reply can be marked, and marks last for the session.
- Code blocks and tables are marked as a whole (#5, #6).
- In fullscreen, a reply taller than about two screens has a middle Synaptik can't scroll to. Scroll there yourself, or use Home / End (#64).
- Another mod that redraws replies may be bypassed while you review.
Feedback
An issue is the most useful thing you can send: a bug, or what felt wrong or missing on a real reply.
Full changelog: v0.1.0-alpha.2...v0.1.0-alpha.3
0.1.0-alpha.2
The second pre-release of Synaptik: mark up Claude Code's last reply in place — accept, reject, comment — and send your marks as one prompt.
Still early: phase 1 is in progress (milestone). Expect rough edges.
New since 0.1.0-alpha.1
/synaptikopens Synaptik and hands it the keyboard — another way in besides the entry key, and it works on narrow terminals where the navigator would otherwise wait./synaptik helplists the rest;/synaptik on/offturn it on and off for the session./synaptik config— choose your keys. The key that opens Synaptik (ctrl+x tab,ctrl+s, or one you press) and the keys that move between actions (Tab / ⇧Tab, ← / →, or your own). ↑/↓ to a setting, ⏎ to change it. It lists exactly what it will change in~/.claude/keybindings.jsonand what you give up, and writes only when you choose Save. Pressing your own key needs fullscreen; classic offers the presets.- Home / End jump to the first and last block (
Fn+←/Fn+→on a MacBook). - The mouse wheel over the navigator no longer moves blocks; over the reply it scrolls, as you'd expect.
- The band names your keys, not always ← / →.
- Fixes in the comment field: moving off it with ↑/↓ stages the comment; a failed focus move no longer leaves the field stuck.
- About 150 automated tests now cover the navigator, the comment flow, the suggestion, the band and the key setup.
Install
Claude Code v2.1.287+ in a terminal. Download synaptik-0.1.0-alpha.2.zip below, then:
# every session (remove an older ~/.claude/skills/synaptik first)
unzip synaptik-0.1.0-alpha.2.zip -d ~/.claude/skills/
# or one session only
claude --plugin-dir ./synaptik-0.1.0-alpha.2.zip/plugin lists it as synaptik@skills-dir. A mod runs inside Claude Code with your own permissions and is not sandboxed — see SECURITY.md; the only file it writes is keybindings.json, through /synaptik config, on Save.
Known limits
- 💬 discuss is phase 2; choosing it only says so.
- Only the last reply can be marked, and marks last for the session.
- Code blocks and tables are marked as a whole (#5, #6).
- In fullscreen, a reply taller than about two screens has a middle Synaptik can't scroll to; scroll there yourself, or use Home / End (#64).
- Another mod that redraws replies may be bypassed while you review.
Feedback
A field note — what felt wrong or missing on a real reply — is the most useful thing you can send.
0.1.0-alpha.1
The first pre-release of Synaptik: mark up Claude Code's last reply in place — accept, reject, comment — and send your marks as one prompt.
Early: used daily by its author, phase 1 still in progress (milestone). Expect rough edges, and keys and layout to change.
Install
Claude Code v2.1.287+ in a terminal. Download synaptik-0.1.0-alpha.1.zip below, then:
# every session
unzip synaptik-0.1.0-alpha.1.zip -d ~/.claude/skills/
# or one session only
claude --plugin-dir ./synaptik-0.1.0-alpha.1.zip/plugin lists it as synaptik@skills-dir; /synaptik turns it off and on. To update, remove ~/.claude/skills/synaptik and unzip the newer release.
A mod runs inside Claude Code with your own permissions and is not sandboxed — see SECURITY.md for what it does with them.
What works
- Marking blocks of the last reply: ✓ accept, ✗ reject, ✎ comment. Nested items keep their place.
- The prompt: your marks compile into a prompt shown as a suggestion in the prompt box —
Tabtakes it,⏎sends it. Nothing is sent until you do. - Both renderers: in fullscreen you review in place, with a block map docked beside the reply; in classic, the navigator shows the selected block above the prompt.
- Reviewing: ↑/↓ move between blocks, Tab chooses a verb (←/→ with the recommended bindings), ⏎ applies,
axcapply directly, Esc leaves. Start withctrl+x tab, or a single key you bind — the README has the bindings.
Known limits
- 💬 discuss is phase 2; choosing it only says so.
- Only the last reply can be marked, and marks last for the session.
- Code blocks and tables are marked as a whole (#5, #6).
- On terminals narrower than ~144 columns the navigator may not open on its own; the band above the prompt offers to open it.
- Another mod that redraws replies may be bypassed while you review.
Feedback
A field note — what felt wrong or missing on a real reply — is the most useful thing you can send.
