less
for interactive, scrollable output. When Cline runs commands in your terminal, that interactivity gets in the way — the pager can pause on the first page and block progress. You can configure your shell so that when a terminal is spawned by Cline, pagers are disabled and output streams through normally.
How it works
Cline sets an environment variable for terminals it opens to run commands:CLINE_ACTIVE
— non-empty when the shell is running under Cline
Quick setup (Zsh/Bash)
Add the following to your~/.zshrc
, ~/.bashrc
, or ~/.bash_profile
:
PAGER=cat
ensures generic pager-aware tools print directly to stdoutGIT_PAGER=cat
prevents Git from invokingless
SYSTEMD_PAGER=cat
disables paging in systemd tools (if present)LESS="-FRX"
makesless
behave more like streaming output if a tool still calls it
CLINE_ACTIVE
is set, so your normal terminals keep their usual interactive behavior.
Verify
- Open a task in Cline that runs terminal commands and check:
echo "$CLINE_ACTIVE"
prints a non-empty valuegit log
or other long outputs should stream without pausing
- If changes don’t take effect:
- Make sure 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:
- You can also override paging via shell aliases scoped to Cline sessions using options rather than env vars:
-
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 Cline-driven commands)
- Git:
- Aliases affect the current interactive shell, while environment variables propagate to child processes. Choose the approach that best fits your workflow.