by GuanhuaYe
Mouse-first fullscreen scrolling for Codex CLI, tuned for tmux workflows
# Add to your Claude Code skills
git clone https://github.com/GuanhuaYe/codex-tmux-scrollGuides for using cli tools skills like codex-tmux-scroll.
codex-tmux-scroll is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by GuanhuaYe. Mouse-first fullscreen scrolling for Codex CLI, tuned for tmux workflows. It has 95 GitHub stars.
codex-tmux-scroll's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/GuanhuaYe/codex-tmux-scroll" and add it to your Claude Code skills directory (see the Installation section above).
codex-tmux-scroll is primarily written in Shell. It is open-source under GuanhuaYe on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh codex-tmux-scroll against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
codex-tmux-scroll is a Codex CLI build for people who run Codex inside long
tmux sessions.
It changes tmux mouse interaction: the mouse wheel opens a static conversation
history view while the input prompt stays pinned at the bottom, mouse drag
selection copies text from history, and double-clicking the prompt jumps back to
the latest output. Aside from these tmux interaction changes, it behaves like
the normal codex command.
Linux x86_64:
curl -fsSL https://raw.githubusercontent.com/GuanhuaYe/codex-tmux-scroll/main/install.sh | bash
After it finishes, use it directly:
codex-tmux-scroll
The installer writes:
~/.local/lib/codex-tmux-scroll/codex~/.local/bin/codex-tmux-scrollIt does not replace your global codex command.
Enable tmux mouse forwarding (You only need to configure this once; new tmux sessions will use it automatically.):
set -g mouse on
Start or attach a tmux session, enter your project, then run codex-tmux-scroll. Usage example:
tmux new -s work
cd /path/to/project
codex-tmux-scroll
All arguments are forwarded to the bundled Codex CLI, so normal Codex launch commands work:
codex-tmux-scroll resume
codex-tmux-scroll --dangerously-bypass-approvals-and-sandbox
codex-tmux-scroll --dangerously-bypass-approvals-and-sandbox resume
This repository deliberately does not vendor the full Codex source tree. The tmux-specific changes are kept as a patch:
patches/codex-tmux-scroll-v0.139.0.patch
When Codex CLI releases a new version, this project is updated by rebasing that patch onto the new upstream tag, rebuilding the binary, and publishing a new GitHub release.
Build the current release locally:
CODEX_UPSTREAM_URL=<codex-cli-upstream-git-url> \
./scripts/build-from-source.sh
By default, the build script uses the patch file matching CODEX_UPSTREAM_REF.
For example, rust-v0.139.0 uses:
patches/codex-tmux-scroll-v0.139.0.patch
The build uses the Rust toolchain selected by the upstream source tree. To force
a specific toolchain, set CODEX_RUST_TOOLCHAIN.
Package a release archive:
CODEX_UPSTREAM_URL=<codex-cli-upstream-git-url> \
./scripts/package-release.sh
To update this project for a newer upstream Codex version:
rust-v0.140.0.CODEX_UPSTREAM_URL=<codex-cli-upstream-git-url> \
CODEX_UPSTREAM_REF=rust-v0.140.0 \
CODEX_TMUX_SCROLL_PATCH_FILE=patches/codex-tmux-scroll-v0.139.0.patch \
./scripts/build-from-source.sh
cp patches/codex-tmux-scroll-v0.139.0.patch \
patches/codex-tmux-scroll-v0.140.0.patch
rm -rf worktrees/codex-rust-v0.140.0
git clone --depth 1 --branch rust-v0.140.0 \
<codex-cli-upstream-git-url> \
worktrees/codex-rust-v0.140.0
cd worktrees/codex-rust-v0.140.0
git apply --reject ../../patches/codex-tmux-scroll-v0.139.0.patch
Fix any rejected hunks, build and test the patched source, then save the new patch:
cd codex-rs
cargo build -p codex-cli --release
cd ..
git diff --binary -- . ':(exclude)codex-rs/Cargo.lock' > ../../patches/codex-tmux-scroll-v0.140.0.patch
CODEX_UPSTREAM_URL=<codex-cli-upstream-git-url> \
CODEX_UPSTREAM_REF=rust-v0.140.0 \
./scripts/package-release.sh
If you already built and tested a binary, package it without rebuilding:
CODEX_TMUX_SCROLL_BINARY_PATH=/path/to/target/release/codex \
./scripts/package-release.sh
v0.140.0-tmux.1, with:dist/codex-tmux-scroll-x86_64-unknown-linux-gnu.tar.gz
dist/codex-tmux-scroll-x86_64-unknown-linux-gnu.tar.gz.sha256
install.sh
Users can update by rerunning the same installer command from the Install section; it downloads the latest release.
Release tags follow:
v<upstream-codex-version>-tmux.<patch-version>
Example:
v0.139.0-tmux.1
v0.140.0-tmux.1
v0.140.0-tmux.2
0.139.0Apache-2.0. See LICENSE.
Third-party notices are kept in legal/THIRD_PARTY_NOTICES.md.