# PiCode > PiCode is a browser-based Agent Development Environment (ADE) for Pi coding > agents: one Go daemon serves a web UI to create, configure and orchestrate > agents across workspaces — designed for people who avoid terminals. ## Start - [What is PiCode](https://cfpperche.github.io/picode/): Control your Pi coding agents from the browser — create them, watch them work, steer them when they drift. You stay in command from the moment of creation. - [Getting started](https://cfpperche.github.io/picode/guide/getting-started): Install PiCode from a GitHub release on Linux or WSL, then create your first agent. - [From source](https://cfpperche.github.io/picode/guide/from-source): Build PiCode from this repository when you are changing it. - [Files and changes](https://cfpperche.github.io/picode/guide/files): Browse project files, review changes and edit beside the file tree. ## Use - [Use](https://cfpperche.github.io/picode/guide/): What you can do in PiCode — agents, chat, tools — then how to configure it and where to run it. - [Agent CLIs](https://cfpperche.github.io/picode/guide/agent-clis): Terminals, session history, and moving a conversation between your installed CLIs. - [Packages](https://cfpperche.github.io/picode/guide/packages): Extras for Pi and for the other agent CLIs, installed by each CLI's own commands. Full access — only install what you review. - [MCP](https://cfpperche.github.io/picode/guide/mcp): Connectors. PiCode writes the files the MCP adapter reads. Pi does not speak MCP itself. - [Gmail](https://cfpperche.github.io/picode/guide/mcp-gmail): Connect Gmail to a Pi agent. Credentials stay outside PiCode. - [DeepWiki](https://cfpperche.github.io/picode/guide/mcp-deepwiki): Connect DeepWiki so an agent can read public GitHub documentation. No account. - [llama.cpp](https://cfpperche.github.io/picode/guide/llama): Connect an existing llama.cpp router, or let PiCode run a local CPU service on Linux/WSL. - [Automations](https://cfpperche.github.io/picode/guide/automations): Run an agent on a timer or a webhook. Each run is a normal PiCode session. - [Snippets](https://cfpperche.github.io/picode/guide/snippets): A saved prompt or shell command, with placeholders filled at send time. - [Canvas](https://cfpperche.github.io/picode/guide/canvas): One plane that shows many agents and terminals side by side, live. - [Session messages](https://cfpperche.github.io/picode/guide/communication): Connect agents in a workspace so they can talk. - [Inbox tools](https://cfpperche.github.io/picode/guide/inbox-tools): Tools so a pi in a terminal can file questions and finished work into PiCode's Inbox. - [Checklist](https://cfpperche.github.io/picode/guide/checklist): The agent writes a plan before it changes anything; the sidebar follows it. - [Compact earlier](https://cfpperche.github.io/picode/guide/compact): Summarize a Pi session before the context window is full. - [Diff panel](https://cfpperche.github.io/picode/guide/diff-panel): See what the agent changed beside its terminal, without opening Files. - [Browser tools for pi](https://cfpperche.github.io/picode/guide/browser-tool): Let an agent drive the browser beside its session. - [Chrome extension](https://cfpperche.github.io/picode/guide/browser-extension): Send the Chrome tab you are looking at to a PiCode agent you already created. - [Docker and sysadmin tools](https://cfpperche.github.io/picode/guide/docker): Inspect and operate Docker from PiCode, using the server user's connection. - [Integrations](https://cfpperche.github.io/picode/guide/integrations): Connect MCP servers on a CLI and PiCode webhooks. Neither changes your provider account. - [tmux sessions](https://cfpperche.github.io/picode/guide/tmux): See every tmux session on the machine, including ones PiCode no longer knows. - [Terminal status for CLIs](https://cfpperche.github.io/picode/guide/terminal-status): The sidebar shows which CLI is present, when it is working, and when it needs you. - [Keyboard and browser keys](https://cfpperche.github.io/picode/guide/keyboard): What the browser keeps, what PiCode can bind, and what to do about the overlap. ## Run - [On Windows](https://cfpperche.github.io/picode/guide/windows-desktop): Start PiCode Desktop at Windows sign-in, inspect its task and repair startup without changing WSL. - [Security and pairing](https://cfpperche.github.io/picode/guide/security): PiCode gives whoever is signed in a shell on the machine that runs it, - [On a server](https://cfpperche.github.io/picode/guide/remote-server): One PiCode on a Linux box you own, reached from your PC and your phone - [Share one server](https://cfpperche.github.io/picode/guide/shared-server): Several people, one Linux box on your tailnet. Each person gets their own - [Agent terminals over SSH](https://cfpperche.github.io/picode/guide/ssh-terminals): Every PiCode terminal — a managed Pi agent, a project shell, or an Agent CLI - [Open it to the internet](https://cfpperche.github.io/picode/guide/public-access): People on any network reach their PiCode at https://picode.example.com - [On your phone](https://cfpperche.github.io/picode/guide/mobile): Open https://:8445/mobile/ for the phone app. Opening the server's ## Configure - [Configure](https://cfpperche.github.io/picode/guide/configure): Which screen edits which file, and the one workflow that does not brick a deploy. - [Settings](https://cfpperche.github.io/picode/guide/settings): Pi JSON for the selected agent, one layer at a time. Not Preferences. - [Providers](https://cfpperche.github.io/picode/guide/providers): API keys and account logins for Pi on this machine. - [Model roles](https://cfpperche.github.io/picode/guide/roles): Optional package that routes an agent to vision or plan models without fighting the model it started with. ## Reference - [Changelog](https://cfpperche.github.io/picode/changelog): What changed in PiCode, newest first. - [Commands](https://cfpperche.github.io/picode/commands): Type / in the composer. PiCode opens its UI — it does not type into the terminal. - [HTTP API](https://cfpperche.github.io/picode/api): Everything the PiCode UI does, it does over an HTTP JSON API served by the same daemon you can talk to yourself. The reference below is not hand-written documentation: it is generated from the server's route registration - [License](https://cfpperche.github.io/picode/license): PiCode is source-available, not OSI open source. ## Machine-readable - [OpenAPI spec](https://cfpperche.github.io/picode/api/openapi.json): every HTTP route the daemon serves, generated from the server's route registration (206+ operations). - [API reference UI](https://cfpperche.github.io/picode/api/): the same spec in Scalar's browsable viewer.