# Proxy per provider

> Each provider (Claude, Codex, Grok…) can leave the machine through its own network proxy.

- Area: Desktop app
- Plans: All plans
- Last checked against the product: 2026-10-21
- Web page: https://agentsroom.dev/docs/provider-proxy

## What it does

Each provider (Claude, Codex, Grok…) can leave the machine through its own
network proxy. For example, Codex goes out through a home connection while
Claude uses the company network. The agent's terminal uses that proxy, and so
do AgentsRoom's own quota checks for that provider, so the provider account
sees a single address.

## Where to find it

Settings > AI providers > select the provider tab > **Advanced settings** > **Proxy**
(below Environment variables). Searchable in Settings as "Proxy".

## How to use it

1. Type the proxy address, for example `http://proxy.example.com:3128`
   (`http`, `https`, `socks5` or `socks5h`).
2. Optionally list **Exceptions**: hosts that never go through the proxy.
   `localhost`, `127.0.0.1` and `::1` are always excluded.
3. Click **Test**: AgentsRoom shows the exit IP through the proxy and the
   machine's own IP. If they are the same, the proxy does not change your IP.
4. Start (or restart) the agents of that provider: the proxy applies at launch.

The switch next to the title turns the proxy off without forgetting the
address (handy when the home proxy is unreachable from the office).

**Proxy with a password**: save the password in the dock, Commands &
connections > Secrets, then write `http://user:{{secret:NAME}}@host:port`. A
password in plain text is refused, because this setting is synced with the
account. If the password contains `@`, `:` or `/`, store it URL-encoded
(`%40`, `%3A`, `%2F`).

## Settings

- `providerProxies` (global, Settings > AI providers > Proxy): per provider id,
  `{ enabled, url, noProxy }`. Default: none (direct). Synced with the
  account on every machine. Also writable by an agent through `settings_set`.

## Agent tools (MCP)

- `settings_get` / `settings_set` with key `providerProxies`: read or change the
  proxies. A plain-text password is dropped.

## Providers

The agent's terminal receives `HTTPS_PROXY`, `HTTP_PROXY`, `ALL_PROXY` and
`NO_PROXY` (upper and lower case). Claude Code and Codex read them. A CLI that
ignores these variables connects directly for the agent itself, while
AgentsRoom's quota checks still go through the proxy. Claude Code does not
support SOCKS: use an `http://` proxy for Claude. Everything the agent runs
(git, npm, curl) also goes through the proxy; add exceptions when needed.

## Mobile

Not configurable from the phone. An agent launched from the phone starts on
the desktop and uses the desktop's proxy setting.

## Limits

- Applies at launch: an agent already running keeps its previous network path.
- No silent fallback: if the proxy is down, the quota checks of that provider
  fail instead of going out directly.
- The password secret lives in each machine's vault (secrets are not synced):
  on a second machine, add the same secret name.
- An explicit `HTTPS_PROXY` line in an Environment variables block (provider,
  folder, project or agent) overrides the proxy for the agent's terminal.

## Common questions

- **Can I send Codex through my home IP and Claude through my company IP?** Yes:
  one proxy per provider tab in Settings > AI providers.
- **Does the provider still see my real IP?** Not from AgentsRoom or the CLI if
  the CLI reads the standard proxy variables. Use Test to check the exit IP.
- **Why is my proxy password refused?** It must be a `{{secret:NAME}}`
  reference to a secret saved in Commands & connections > Secrets.
- **Is the proxy used by my dev servers or the embedded browser?** No, only by
  that provider's agents and AgentsRoom's calls to that provider.

## Related

- [Multi-Provider Support](https://agentsroom.dev/docs/multi-provider.md): the providers this setting applies to.
- [Terminal Shell and Environment](https://agentsroom.dev/docs/terminal-environment.md): environment variables per provider, project or agent.
- [Secret Manager](https://agentsroom.dev/docs/secret-manager.md): where the proxy password is stored.
