Anthara Local
Anthara Local runs the whole product on your own machine from prebuilt images. That includes the dashboard, Fabric, the LLM Proxy, repository assessments, and workflows. It is meant for one person who wants to try Anthara without an on-prem deployment.
Before you begin
Section titled “Before you begin”| You need | Notes |
|---|---|
| Docker with the Compose plugin | Compose 2.23.1 or later. Check with docker compose version. Docker must be running. |
| Four free ports | 4000, 8080, 8000, and 8081. Anthara Local listens on 127.0.0.1 only. |
| A Pull Token | A token name and a password. You get them when you sign up. |
| A sign-in OAuth app | With GitHub, Google, or Microsoft. |
| An OpenAI API key | Fabric uses it for memory. |
| An Anthropic API key | Repository assessments use it. |
| Claude Code | Only if you want to use the plugin. |
A GitHub App and an Azure DevOps organization are optional.
Machine size
Section titled “Machine size”| Resource | Minimum | Status |
|---|---|---|
| Memory given to Docker | 8 GB | Not final |
| Free disk for Docker | 40 GB | Not final |
Install and start
Section titled “Install and start”-
Unzip the Bundle into its own folder, and keep the folder where it is:
Terminal window unzip anthara-local.zip -d anthara-localcd anthara-local -
Start Anthara Local:
Terminal window ./anthara.sh upOn Windows, in PowerShell:
Terminal window .\anthara.ps1 up -
Answer the questions. The first
upasks for your Pull Token, the admin email and name, your sign-in provider’s client ID and secret, your OpenAI key, a proxy auth mode, the repository hosts to connect, and your Anthropic key. -
Open
http://localhost:4000and sign in with the provider you set up.
Later runs of up ask nothing. Every up pulls the newest images and keeps your data.
When you set up a sign-in provider, register this callback URL in its OAuth app. Replace <provider> with github, google, or microsoft:
http://localhost:8080/auth/<provider>/callbackThe four commands
Section titled “The four commands”| Command | What it does |
|---|---|
up |
Installs Anthara Local the first time, and then starts it. |
status |
Shows whether each service is UP or DOWN. It changes nothing. |
down |
Stops Anthara Local and keeps your data and settings. |
uninstall |
Deletes Anthara Local and all of its data, after you type yes. |
Choose a proxy auth mode
Section titled “Choose a proxy auth mode”The first up asks for mode A or B. The mode decides how Claude Code authenticates through the LLM Proxy.
| Mode | Use it when | How it works |
|---|---|---|
| A | You use Claude through an Anthropic API key. | Each model you register holds your key. Claude Code sends your LLM Proxy key as its auth token. |
| B | You use Claude Code with a Claude subscription. | Claude Code keeps your subscription login and sends your LLM Proxy key in an extra header. |
In Mode B, workflows still need a model that is registered with an API key, because workflow workers have no subscription login.
Register a model
Section titled “Register a model”up registers no models. Until you add one, requests through the proxy get no answer.
- Open Models at
http://localhost:4000/governance/models. - Select Register model.
- For Mode A, choose API key and enter your Anthropic key. For Mode B, choose Client subscription.
Models describes every field.
Use Claude Code with Anthara Local
Section titled “Use Claude Code with Anthara Local”-
Install the plugin once, from the Bundle folder:
Terminal window claude plugin marketplace add ./pluginclaude plugin install anthara@anthara-local -
Point Claude Code at Anthara Local.
upprints these commands with your LLM Proxy key filled in. For Mode A on macOS and Linux:Terminal window export ANTHROPIC_BASE_URL='http://localhost:8081'export ANTHROPIC_AUTH_TOKEN='<your LLM Proxy key>'export ANTHARA_FABRIC_URL='http://localhost:8000'export ANTHARA_MEMORY_GROUP='anthara-local'claudeFor Mode B on macOS and Linux:
Terminal window unset ANTHROPIC_API_KEY ANTHROPIC_AUTH_TOKENexport ANTHROPIC_BASE_URL='http://localhost:8081'export ANTHROPIC_CUSTOM_HEADERS='x-litellm-api-key: Bearer <your LLM Proxy key>'export ANTHARA_FABRIC_URL='http://localhost:8000'export ANTHARA_MEMORY_GROUP='anthara-local'claude -
Sign in to Fabric. In Claude Code, type
/mcp, choose anthara-fabric, and sign in as you do on the dashboard.
The plugin is required. The proxy rejects a Claude Code request that carries tools unless a signed-in Fabric tool is among them.
What Anthara Local does not do
Section titled “What Anthara Local does not do”- No upgrades or rollback. Every
uppulls the newest images. You can’t stay on an earlier release. - No inbound webhooks. GitHub App webhooks, Azure DevOps webhooks, and Microsoft Teams cards can’t reach an install on your machine. Features that need them don’t work.
- No password sign-in. You sign in only through the OAuth app you set up.
What leaves your machine
Section titled “What leaves your machine”The README states that Anthara Local sends no heartbeat, usage data, or telemetry to Anthara. Its only contact with Anthara is signing in to the image registry and pulling images on every up.
It also connects to:
- The services you set up: OpenAI, Anthropic, your sign-in provider, and GitHub or Azure DevOps.
- Docker Hub and GitHub’s container registry, for third-party images.
- GitHub, because the LLM Proxy downloads its model price list each time it starts.
Remove it
Section titled “Remove it”./anthara.sh uninstalluninstall lists what it will delete and asks you to type yes. It deletes the containers, all data, the images, and the .env file that holds your keys.
To remove the plugin from Claude Code as well:
claude plugin uninstall anthara@anthara-localclaude plugin marketplace remove anthara-localTroubleshooting
Section titled “Troubleshooting”| Message or symptom | Fix |
|---|---|
A service shows DOWN |
Run docker compose -p anthara-local logs <service> in the Bundle folder. |
| “Port … is already in use” | Stop the program that uses the port, and then run up again. |
| “Docker is not installed or not running” | Start Docker, and then run the command again. |
| “Your email address has not been invited” | Your provider reported a different address from the admin email. Put that address in ADMIN_EMAIL in .env, and then run up again. |
| “Your account is linked to a different sign-in provider” | Sign in with the provider you used the first time. |