A Tabby terminal plugin that fixes the scroll jumping issue caused by Claude Code.
Claude Code sends \x1b[3J (clear scrollback buffer) and \x1b[2J (clear screen) escape sequences when re-rendering its TUI. This causes xterm.js in Tabby to jump the viewport to the top of the buffer and flash the screen on every update.
See anthropics/claude-code#769.
This plugin intercepts frontend.write() on every terminal tab and:
- Strips
\x1b[3J— prevents viewport jumping to the top of scrollback - Replaces
\x1b[2Jwith\x1b[H\x1b[J— clears the screen in-place (cursor home + erase below) instead of pushing content into scrollback, which eliminates the viewport jump and flicker
cd tabby-scroll-fix
npm install --legacy-peer-deps
npx webpackcd %APPDATA%\tabby\plugins # Windows
# cd ~/.config/tabby/plugins # Linux
# cd ~/Library/Application\ Support/tabby/plugins # macOS
npm init -y
npm install /path/to/tabby-scroll-fixRestart Tabby. The plugin should appear in Settings > Plugins.
Symlinks from npm install <local-path> can cause issues on Windows. Use a tarball instead:
cd tabby-scroll-fix
npm pack
cd %APPDATA%\tabby\plugins
npm init -y
npm install /path/to/tabby-scroll-fix/tabby-scroll-fix-1.0.0.tgzRestart Tabby.
cd %APPDATA%\tabby\plugins
npm uninstall tabby-scroll-fixRestart Tabby.
If the plugin doesn't appear in Settings > Plugins:
- Open Tabby dev tools (
Ctrl+Shift+IorF12) - Check the console for plugin loading errors
- Verify
dist/index.jsexists after building - Ensure
package.jsonhas"keywords": ["tabby-plugin"]and an"author"field — Tabby's plugin loader crashes without it
MIT