Dev servers, terminals and AI agents.
Per project.
A project holds everything it takes to work on one codebase. Start it and your commands come up. Add Claude Code or Codex and they work next to them. When an agent needs you, you know.
Three steps to a running project
claude
into a fresh tab.Commands that look after themselves
Each command runs through your login shell in the project directory, with its own working directory and environment. Tell it how to behave and stop babysitting it.
If a project folder already has a Solo solo.yml,
HackUtilities can import its processes as commands, so you don't set them up twice. Imported
commands wait until you trust them on this machine.
Claude Code, Codex, Gemini CLI and OpenCode. Side by side.
Run one agent per task and let them work in parallel. HackUtilities launches the real CLI in a real terminal, so every flag, slash command and login you use today keeps working. Add any other agent CLI as a custom tool.
Claude Code publishes its own session state, and HackUtilities reads it: working, input required, permission required or done. No screen-scraping guesswork.
When an agent waits on you while you're in your editor, you get an OS notification. Click it to land in that session. The dock badge counts what is waiting.
Sessions are named after what the agent is doing, like "Add cursor pagination", in the sidebar, the process table, the palette and notifications.
Drop, paste or pick files and screenshots. They arrive in the prompt as quoted paths, in the format each agent expects, and are cleaned up with the session.
Launched from the Dock, apps usually lose your shell's PATH. HackUtilities asks your interactive shell for it, so CLIs installed with nvm, asdf or mise are found.
Shift+Enter adds a newline instead of submitting, long pastes arrive intact, and copied agent output loses its gutter indentation.
Configure once, launch anywhere
Set the executable and default arguments per agent. HackUtilities probes each one through your login shell and shows whether it is ready, missing or broken, with its version. It never installs anything for you.
A real shell for every job
Open as many terminals per project as you need. They are real PTYs running your own shell, built on the same xterm.js foundation as VS Code's terminal, so vim, htop and TUIs behave.
Always know what is running
Can I run several Claude Code sessions in one project?
Yes. Add as many agent sessions per tool as you like. Each one gets its own terminal, its own activity state and, for Claude Code, its own live title taken from what it is working on.
Does HackUtilities work with my Claude or ChatGPT subscription?
It launches the CLI you already installed and logged in to, so it uses whatever plan that CLI uses. HackUtilities never sees your credentials and adds no usage cost.
What happens to running processes when I quit?
Everything the app started is stopped: a graceful terminate first, then a forced kill if something does not exit. Sessions reappear as stopped rows next time, ready to start again.
I use Solo. Can I bring my projects over?
Yes. When a project folder contains a solo.yml from Solo (soloterm.com), HackUtilities imports its processes as commands, including auto_start and restart_when_changed. Imported commands only run after you trust them, and any later change to one asks again. HackUtilities only reads the file; it never writes to it.
How does it know an agent is waiting for me?
For Claude Code it reads the session state Claude itself publishes, so busy, waiting and idle are exact. For other agents it watches for permission dialogs and working banners, and never guesses from output alone.
Does it replace git worktrees or my IDE?
No. Sessions run in the project directory you added. Keep your editor; each project can open straight into VS Code from its actions menu.
Projects, agents, terminals, the skills manager and every tool. One app, one payment.