Terminal Tiger Built at Google for Startups · LA Tech Week 2026 ★ Star on GitHub

Give your terminal a tiger.

An open-source CLI that turns any photo into an animated, 24-bit color portrait. It greets you when you open a shell, and every time you start Claude Code, Codex or Gemini CLI.

uv tool install terminal-tiger && tiger --install-shell --wrap

Paste it in a terminal, then open a new one. Needs uv. Other ways in

dev@cloudshell: ~114×58
$ tiger
$

Make it yours

Reveal
Accent #ff8c1e
Your command
tiger

Subtitle tokens: {user} {host} {date} {time} {cwd}. Pass your own photo as the first argument. Copy link shares this exact look.

Get started

1. Try it, nothing to install

Needs uv. The first run caches the photo. After that it works offline.

uvx terminal-tiger

2. Install the command

Gives you tiger (and terminal-tiger). No uv? pipx install terminal-tiger.

uv tool install terminal-tiger

3. Set it up

Greets you once a day in new shells, and whenever you start claude, codex or gemini. Your shell is detected. Delete the marked block in your rc file to undo.

tiger --install-shell --wrap

In your AI agent

Claude Code, Codex, Gemini CLI

--wrap puts a tiny launcher in front of each agent. The reveal plays at double speed, then the agent starts as usual.

  • Ctrl-C skips straight to the agent.
  • Headless runs like claude -p and codex exec stay clean, and so do commands the agents run themselves.
  • VS Code, Cursor and Antigravity terminals load your shell, so they get it too.
  • Wrap anything: tiger --install-shell --wrap claude aider

A pet for Codex

Codex can keep an animated pet beside its prompt. One command turns your portrait into one, then pick it in Codex's pet menu.

tiger --codex-pet
thinking needs input blocked

Pets need Kitty graphics or Sixel: Ghostty, Kitty, WezTerm, iTerm2 3.6+ or Windows Terminal, outside tmux.

How it works

The project started as a brightness-ramp ASCII tiger that looked like static. These changes turned it into a portrait, listed by how much each one helped.

  1. Two pixels per character.Each cell prints ▀ with a 24-bit foreground color for the top pixel and a background color for the bottom one. You get full color and square pixels.
  2. The right photo.A dark background, a front-facing pose and both ears in frame mattered more than any code change.
  3. Contrast that keeps the colors.Stretching R, G and B separately turned brown fur red. Stretching brightness only (preserve_tone=True) fixed it.
  4. A vignette into your background.The edges fade into your terminal's own color, so the portrait floats instead of sitting in a box.
  5. The tmux trap.Google Cloud Shell runs tmux 2.1, which quietly converts 24-bit color to 256 colors. Direct mode finds the real tty with tmux display -p '#{client_tty}' and paints it, skipping tmux.
  6. A dither for older terminals.Without truecolor, the image is Floyd–Steinberg dithered into the xterm-256 palette with perceptual weights, so browns stay brown.
  7. The reveal.Each cell starts at a time set by its distance from the eyes plus a little noise, fades up through a flash of the accent color, and is redrawn only when it changes. It draws inline under your prompt at about 30 fps.
ESC[38;2;224;122;31mESC[48;2;20;24;28m▀
One terminal cell, enlarged: an orange foreground pixel on top of a near-black background pixel.

Where it runs

Color mode and background are detected for you. The background is read from the terminal itself, so the portrait's edges fade into it.

TerminalMode chosen automaticallyNotes
iTerm2, WezTerm, Kitty, Ghostty, Alacritty, Windows Terminal, VS Code, Cursor, Antigravity, GNOME TerminaltrueFull 24-bit color.
tmux 2.2 or newer, RGB enabledtrueset -as terminal-features ',*:RGB'
tmux 2.2 or newer, RGB not enabled256Add the line above to ~/.tmux.conf.
tmux older than 2.2, e.g. Google Cloud ShelldirectClears the pane, then paints the browser terminal directly.
Apple Terminal, Linux console256Dithered palette.

Share it

Your look, as a link

Pick a reveal, accent and title in the playground above, then press Copy link. Whoever opens it sees your version and gets the matching command.

Your preset

A preset is a few lines of TOML, and the image can be a URL. Paste yours in a gist or your dotfiles and it works on any machine. Config docs

Show and tell

Made something great? Post a screenshot or GIF in Show and tell, or open a pull request that adds it to the showcase. And star the repo while you're there.

Credits

Built at

Google for Startups · Los Angeles Tech Week 2026, by Josh Ogden.

The tiger

“Bengal Tiger Portrait” by Shootsalot, CC BY-SA 4.0, via Wikimedia Commons. The previews on this page are renderings of that photo and share its license.

License

Code is MIT. The CLI downloads the photo on first run, so the repository ships no image files from it except the CC BY-SA demo renderings.