When Claude Is Offline: Running a Local Coding Agent

TLDR OpenCode and Pi work as coding agents on a local Ollama model. They can edit files, run commands, and keep everything on your laptop. I always use them in a tmux environment. qwen2.5-coder:7b is fast but only replies in plain text, so neither agent can use tool calls with it. On my machine, only qwen3-coder:30b creates usable tool_calls, which lets the agents actually do things. OpenCode uses MCP to communicate, but Pi does not. Both agents, along with Claude Code, can use the same SKILL.md file in ~/.agents/skills/. ...

May 22, 2026 · 8 min · Viktor Gamov

Why Pay for ChatGPT at 35,000 Feet?

TLDR I watched a tmux-popup video on my flight and realized the ChatGPT trick it showed needed wifi, which I didn’t have. Ollama doesn’t. So I rebuilt the pop-up and added a local-model picker to prefix + a. Asked nine local models the same question. One model gave a confident but wrong answer, two didn’t finish, and the fastest one got it right in three seconds. /bye auto-copies the conversation to your clipboard. ...

April 25, 2026 · 9 min · Viktor Gamov

Thirty lines to make Claude Code feel native in tmux and iTerm2

TLDR Running Claude Code inside tmux eats Shift+Enter and quietly blocks Claude’s native desktop notifications. Three .tmux.conf lines fix both. terminal-notifier is dead on macOS Tahoe, built on deprecated NSUserNotification. alerter is the working drop-in on the modern UNUserNotificationCenter API. tmux color codes bleed out of automatic-rename-format into the status bar theme. Use a Nerd Font glyph to mark the Claude pane instead. Thirty lines of config made Claude Code feel native without giving up a decade of iTerm2 muscle memory or server tmux. ...

April 21, 2026 · 11 min · Viktor Gamov