Product / Projects

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.

Atlas Studio · 5/6 running · 2 need attention
01 / How it works

Three steps to a running project

01
Add a repo
Pick the folder and give it the commands it needs: the web server, the queue worker, the asset watcher. Set them up once and they are there every day.
02
Start the project
Every trusted auto-start command comes up in your login shell. Stop and restart the lot with one click.
03
Add agents and terminals
Press + Agent and the CLI launches in the project root. No typing claude into a fresh tab.
02 / Commands

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.

Auto-start
Comes up with Start Project. Leave it off for the test watcher you run by hand.
Auto-restart
Respawns after a crash with exponential backoff. Five crashes in a minute is a crash loop, and it stops trying.
Restart on change
Watches globs like config/*.php and restarts the command half a second after the last change.
Working directory and env
Run a command from a subfolder or with its own environment variables, without wrapper scripts.
Configure a command
Coming from Solo?

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.

03 / AI coding agents

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 · Input required
Codex · Done
Activity detection

Claude Code publishes its own session state, and HackUtilities reads it: working, input required, permission required or done. No screen-scraping guesswork.

Attention notifications

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.

Live session titles

Sessions are named after what the agent is doing, like "Add cursor pagination", in the sidebar, the process table, the palette and notifications.

Attachments

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.

Your PATH, found

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.

Prompt-friendly input

Shift+Enter adds a newline instead of submitting, long pastes arrive intact, and copied agent output loses its gutter indentation.

Agent tools · Installation probe

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.

04 / Terminals

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.

✓ Scrollback of 50,000 lines by default, or unlimited ✓ Switch sessions and the history replays instantly ✓ Cmd or Ctrl+click links, including OSC 8 hyperlinks ✓ Stopping a project stops its terminals and agents too
Terminal · Atlas Studio
05 / Stay oriented

Always know what is running

01
One process table
Every command, agent and terminal with its status, filter chips and the git branch it is on.
02
Sidebar badges
Projects show how many agents need attention. Idle sessions show a dot when they have unread output.
03
Workspace ⌘K
The command palette finds projects and sessions as well as tools.
04
Favorites
Pin the projects you work on, drag them into order, or sort A to Z.
Command palette
FAQ

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.

Bring your agents home

Projects, agents, terminals, the skills manager and every tool. One app, one payment.