Sypha AI Docs
FeaturesCustomization

Disable Terminal Pagers During Sypha Sessions

Make CLI output non-interactive when Sypha runs commands by detecting the CLINE_ACTIVE environment variable and disabling pagers like less.

Numerous CLI tools (like Git) utilize a pager such as less for interactive, scrollable output. When Sypha executes commands in your terminal, that interactivity becomes problematic — the pager can pause on the first page and obstruct progress. You can configure your shell so that when a terminal is spawned by Sypha, pagers are disabled and output streams through normally.

How it works

Sypha establishes an environment variable for terminals it opens to execute commands:

  • CLINE_ACTIVE — non-empty when the shell is operating under Sypha

You can detect this variable in your shell startup file and adjust environment variables or aliases exclusively for Sypha-run sessions. This maintains your normal interactive terminals unchanged.

Quick setup (Zsh/Bash)

Add the following to your ~/.zshrc, ~/.bashrc, or ~/.bash_profile:

# Disable pagers when the terminal is launched by Sypha
if [[ -n "$CLINE_ACTIVE" ]]; then
  export PAGER=cat
  export GIT_PAGER=cat
  export SYSTEMD_PAGER=cat
  export LESS="-FRX"
fi
  • PAGER=cat guarantees generic pager-aware tools print directly to stdout
  • GIT_PAGER=cat prevents Git from invoking less
  • SYSTEMD_PAGER=cat disables paging in systemd tools (if present)
  • LESS="-FRX" makes less behave more like streaming output if a tool still invokes it

This configuration applies exclusively when CLINE_ACTIVE is established, so your normal terminals retain their usual interactive behavior.

Verify

  • Open a task in Sypha that executes terminal commands and verify:
    • echo "$CLINE_ACTIVE" prints a non-empty value
    • git log or other long outputs should stream without pausing
  • If changes don't take effect:
    • Guarantee you updated the correct startup file for your shell
    • Restart VS Code/Cursor so integrated terminals reload your shell config
    • Confirm your terminal profile sources your ~/.zshrc or ~/.bashrc

Optional tweaks

  • Prefer command-line options when you don't want to rely on env vars:
# One-off usage (no aliases)
git --no-pager log -n 50 --decorate --oneline
systemctl --no-pager status nginx
journalctl --no-pager -u nginx -n 200
less -FRX README.md
  • You can also override paging via shell aliases scoped to Sypha sessions using options rather than env vars:
if [[ -n "$CLINE_ACTIVE" ]]; then
  # Make 'less' non-interactive by default
  alias less='less -FRX'
  # Disable paging for common tools via CLI flags
  alias git='command git --no-pager'
  alias systemctl='command systemctl --no-pager'
  alias journalctl='command journalctl --no-pager'
fi
  • If you prefer environment variables, many CLIs also respect a generic or tool-specific pager variable:

    • Git: GIT_PAGER=cat
    • Systemd: SYSTEMD_PAGER=cat
    • Man pages: MANPAGER=cat (not typically needed for Sypha-driven commands)
  • Aliases affect the current interactive shell, while environment variables propagate to child processes. Choose the approach that optimally fits your workflow.

On this page