🛒 VS Code Marketplace • 💬 Discussions • 🐛 Issues • 🤝 Contributing • 📋 Changelog
Pixel Agents turns multi-agent AI systems into something you can actually see and manage. Each agent becomes a character in a pixel art office. They walk around, sit at their desk, and visually reflect what they are doing — typing when writing code, reading when searching files, waiting when it needs your attention.
Right now it works as a VS Code extension with Claude Code. The vision though, is a fully agent-agnostic, platform-agnostic interface for orchestrating any AI agents, deployable anywhere.
This is the source code for the free Pixel Agents extension for VS Code — install from the VS Code Marketplace or Open VSX with the full furniture catalog included.
![]()
![]()
If you just want to use Pixel Agents, the easiest way is to download the VS Code extension. If you want to play with the code, develop, or contribute, then:
git clone https://github.com/pablodelucca/pixel-agents.git
cd pixel-agents
npm install
cd webview-ui && npm install && cd ..
npm run build
Then press F5 in VS Code to launch the Extension Development Host.
--dangerously-skip-permissions (bypasses all tool approval prompts)The built-in editor lets you design your office:
The grid is expandable up to 64×64 tiles. Click the ghost border outside the current grid to grow it.
All office assets (furniture, floors, walls) are now fully open-source and included in this repository under webview-ui/public/assets/. No external purchases or imports are needed — everything works out of the box.
Each furniture item lives in its own folder under assets/furniture/ with a manifest.json that declares its sprites, rotation groups, state groups (on/off), and animation frames. Floor tiles are individual PNGs in assets/floors/, and wall tile sets are in assets/walls/. This modular structure makes it easy to add, remove, or modify assets without touching any code.
To add a new furniture item, create a folder in webview-ui/public/assets/furniture/ with your PNG sprite(s) and a manifest.json, then rebuild. The asset manager (scripts/asset-manager.html) provides a visual editor for creating and editing manifests.
To use furniture from an external directory, open Settings → Add Asset Directory. See docs/external-assets.md for the full manifest format and how to use third-party asset packs.
Characters are based on the amazing work of JIK-A-4, Metro City.
Pixel Agents watches Claude Code's JSONL transcript files to track what each agent is doing. When an agent uses a tool (like writing a file or running a command), the extension detects it and updates the character's animation accordingly. No modifications to Claude Code are needed — it's purely observational.
The webview runs a lightweight game loop with canvas rendering, BFS pathfinding, and a character state machine (idle → walk → type/read). Everything is pixel-perfect at integer zoom levels.
code command), agents will start in your home directory. This is fully supported; just be aware your Claude sessions will be tracked under ~/.claude/projects/ using your home directory as the project root.If your agent appears stuck on idle or doesn't spawn:
[Pixel Agents] to see detailed logs: project directory resolution, JSONL polling status, path encoding mismatches, and unrecognized JSONL record types.The long-term vision is an interface where managing AI agents feels like playing the Sims, but the results are real things built.
For this to work, the architecture needs to be modular at every level:
We're actively working on the core module and adapter architecture that makes this possible. If you're interested to talk about this further, please visit our Discussions Section.
Use Issues to report bugs or request features. Join Discussions for questions and conversations.
See CONTRIBUTING.md for instructions on how to contribute.
Please read our Code of Conduct before participating.
If you find Pixel Agents useful, consider supporting its development:
This project is licensed under the MIT License.
$ claude mcp add pixel-agents \
-- python -m otcore.mcp_server <graph>