Home / Blog / Siga: Progress bars in Claude Code that keep filling after…
Tech News

Siga: Progress bars in Claude Code that keep filling after printing

Siga launched for Claude Code 2.1.275+, adding in-place filling terminal progress bars across Ghostty and Kitty with zero external Python dependencies.

By Dillip Chowdary β€’ Oct 25, 2026 β€’ Source: github.com

Siga: Progress bars in Claude Code that keep filling after printing

Open-source developer souvlakeee launched siga, an open-source terminal integration and plugin for Claude Code that enables progress bars to fill continuously in place after they print. According to github.com's report, the project draws its name from the Cypriot phrase siga-siga, meaning slowly slowly, reflecting an engineering philosophy where long tasks proceed without polluting console logs. Built for Claude Code 2.1.275 or higher, the tool eliminates repetitive status lines during long compile operations by rendering an interactive visual gauge that updates smoothly until completion.

This technical analysis covers the installation process, architectural mechanics, terminal compatibility matrix, and command wrapper utilities shipped in the initial release. Command-line developers, systems engineers, and artificial intelligence practitioners managing complex build jobs will discover how the tool monitors background processes without interfering with underlying command streams. The software resolves terminal buffer pollution by translating routine output from package managers, build systems, test runners, and network downloads into an active single-line bar without altering exit codes, suppressing stderr diagnostics, or breaking shell pipelines.

What shipped in Progress bars in Claude Code that keep

The software package provides a Claude Code plugin alongside a standalone command-line wrapper written for Python 3.9 using only standard library modules. The utility monitors command execution and translates standard completion statistics into dynamic progress bars. Developers can execute shell commands through the dedicated run helper or declare automated execution rules inside a configuration file located at wrap.txt. The system automatically intercepts familiar development tools including npm, cargo, go, make, docker build, pytest, pip, uv, curl, wget, rsync, git clone, ffmpeg, and yt-dlp, preserving console output and returning process exit codes unmodified.

In addition to native shell tool support, the release includes thirty tested offline example scripts verifying compatibility across multiple runtime environments. Testing covers widely used Python libraries including rich, tqdm, alive-progress, and click, alongside Node ecosystems using cli-progress and progress. Compiled ecosystems are supported through Go packages including mpb, pb, and progressbar, as well as the Rust indicatif library. The repository includes an offline selftest script that executes every scenario locally, allowing engineers to confirm terminal rendering performance without external network access or active third-party cloud connections.

What improved in Progress bars in Claude Code that keep

The software replaces the legacy behavior where artificial intelligence coding assistants flood the terminal with dozens of repetitive log messages during extended operations. Running large compilations, such as building bat across 223 crates, traditionally produces repetitive status lines noting that tasks are still building at forty or seventy percent. With this utility active, Claude prints exactly one progress bar that updates in place while the underlying build executes. The integration enforces a strict one-bar rule per job, keeping terminal displays concise and organized during complex multi-stage tasks.

Metric and BehaviorLegacy Terminal OutputSiga Architecture
Screen LoggingRepeated lines like 40% and 70%Single bar filling in place
Compile Example223 crate lines printed during buildOne bar fills during 223 crate build
DependenciesExternal third-party packagesPython 3.9 standard library only
Process Exit CodesPiped outputs risk lost exit statesRetains true exit codes on pipes
Test DemonstrationStandard real-time output streamDemonstrated at 1.5x playback speed
Siga: Progress bars in Claude Code that keep filling after printing
Illustration Β· Pexels

Terminal rendering performance is optimized by routing display logic through specific emulator graphics primitives rather than basic cursor repositioning escapes. In Ghostty 1.3 or higher, the gauge is drawn using private-use font glyphs in color keys, where a dedicated shader repaints the bar according to OSC 4 palette color values. In Kitty 0.49 or newer, the bar renders via an image placeholder that repaints as jobs advance. These architectural methods eliminate visual flickering, protect terminal scrollback buffers, and allow developers to inspect build outputs cleanly.

Advertisement

Tech Pulse Daily

Get tomorrow's pulse first

Join engineers who read Tech Pulse before stand-up. Free, weekday mornings.

What you gain from Progress bars in Claude Code that keep

Developers gain improved console legibility without sacrificing error visibility or process diagnostics during automated coding runs. Because wrapped shell commands forward standard error streams and process exit statuses, engineers can diagnose syntax errors and build failures without obstruction. If a piped command fails, the interface marks the gauge in red while propagating the true exit code of the failing process. Custom command pipelines maintain strict error handling through standard shell conventions, allowing developers to pipe failing commands safely and verify termination state accurately using built-in end markers.

Teams also gain flexible execution flags that adapt to unique command behaviors and custom build scripts. When commands output raw percentages or fractions, the runner parses the stream directly to track progress. For terminal tools that draw graphics only when connected to an interactive console, the pty flag allocates a pseudo-terminal. Applications using rich or cli-progress can pass exact progress metrics via the shim flag, while multi-phase scripts can define step delimiters using regular expressions. Commands lacking progress outputs can even rely on historical duration learning to project completion estimates over time.

How to get Progress bars in Claude Code that keep

Developers using Claude Code version 2.1.275 or higher can install the integration directly via the built-in marketplace commands without restarting existing sessions. Users add the marketplace source, install the package, and reload plugins to activate the hooks in the active environment. Executing the setup command displays all pending changes, backs up current configurations, and prompts for confirmation before applying system edits. Ghostty users receive marked configuration blocks, custom shaders, and font files, while Kitty users require no additional configuration files to begin rendering active progress bars.

Command
/plugin marketplace add souvlakeee/siga
/plugin install siga@siga
/reload-plugins
/siga:setup

Engineers who operate outside of Claude Code or prefer manual setups can clone the project repository directly from source and run the setup binary. The binary accepts an apply flag to implement the required terminal configurations and font adjustments locally. Once configured, developers execute commands directly by passing them to the run binary followed by double dashes. The repository includes an offline selftest tool to verify local rendering across thirty distinct execution scenarios. The software requires Python 3.9 or higher and distributes under the permissive open-source MIT license.

Command
git clone https://github.com/souvlakeee/siga && cd siga
bin/siga setup --apply
bin/siga run -- cargo build

What to watch after Progress bars in Claude Code that keep

Developers planning terminal deployments must review the current platform compatibility matrix across their local environments. While Ghostty 1.3 or higher, Kitty 0.49 or newer, and herdr 0.9.5 function on macOS, Linux support remains untested and Windows compatibility is not yet built. Terminal multiplexers including tmux and zellij, alongside emulators such as WezTerm and iTerm2, remain listed as pending future development. Alternate artificial intelligence coding tools including OpenCode and Codex are also unsupported currently. Engineering organizations utilizing these environments will need to wait for upstream updates or submit terminal integration pull requests.

A primary operational constraint is that each terminal window supports only a single progress bar at any given moment. When developers or autonomous agents run multiple build processes in parallel, all concurrent tasks share the single visual gauge, leading to competing display updates. To manage this behavior, developers can pause plugin hooks using the off command and re-enable them using the on command. If complete removal is required, executing setup with the remove flag cleanly restores backed-up configuration files and removes installed shaders, ensuring host systems return to their original configuration state.

Developer Action Items

  • ☐ Diff the official changelog for Claude / GitHub / Docker 2.1.275 before you bump β€” APIs, defaults, and removed flags only.
  • ☐ Install through the vendor's documented channel in staging; keep a one-command rollback and time-box the canary.
  • ☐ Grep your repo for old flag names, lockfile pins, and plugin versions that the notes mark as breaking.
  • ☐ Prefer the first patch cut over the day-zero tag unless you have a reason to be on the leading edge.
  • ☐ If HN Claude/Codex/Fable did not name a region, plan, or SKU, screenshot the official availability line before you promise it to users.

Progress bars in Claude Code that keep FAQ

What terminal emulators currently support siga?

The utility officially works on Ghostty 1.3 or higher and Kitty 0.49 or higher, as well as herdr 0.9.5 inside either emulator on macOS. Support for WezTerm, iTerm2, tmux, zellij, Linux, and Windows is currently untested or pending development.

How does the progress bar update in place without filling terminal history?

In Ghostty, the bar uses private-use Unicode font glyphs repainted by a custom shader responding to OSC 4 palette color values. In Kitty, the bar functions as an image placeholder that updates by re-uploading graphic images as tasks advance.

What are the system requirements and dependencies to run the tool?

The tool requires Python 3.9 or higher using only standard library modules, with no external package dependencies. For Claude Code integration, it requires Claude Code version 2.1.275 or higher.

How are parallel execution jobs handled by the interface?

Each terminal window currently supports only one progress bar, meaning concurrent background jobs share the same visual bar. Developers can pause hook interception using the off command or resume it using the on command.

Sources

Dillip Chowdary

Author

Dillip Chowdary

Writes Tech Bytes coverage of AI, engineering, and the tools that actually ship. Editor of Tech Pulse Daily.

Related on Tech Bytes

Advertisement

5-min tech signal

Weekday briefing for engineers who skip the noise.

No spam Β· Unsubscribe anytime

Advertisement

✈️ CareerPilot

Your AI job-search copilot

Match your resume against live Ashby, Greenhouse & Lever openings β€” fit scores, job-specific resume optimization and email alerts.

Find matching jobs β†’

Free Tools

Browse all tools β†’