CLI Tools
CodeBuddy Code
Add a custom model in models.json using the full request URL.
The vendor documents custom endpoints. Check model capabilities and verify the connection.
On this page
Before you begin
Install current CodeBuddy Code and choose a tool-capable model. Both user and project models.json files may exist.
Have an A2Agent API key ready and copy an accessible model ID from the catalog. Replace every placeholder, back up existing settings and keep keys out of repositories.
Setup
File contents are usually shared; switching OS changes commands and paths. For WSL on Windows, select macOS / Linux.
01Install and back up
Install from the official getting-started guide, run codebuddy --version, and back up models.json.
Open official documentation02Add a model
Merge into the models array and preserve other entries. The url includes /chat/completions; keep true only for a tool-capable model.
~/.codebuddy/models.json{ "models": [{ "id": "YOUR_MODEL_ID", "name": "A2Agent", "apiKey": "${A2AGENT_API_KEY}", "url": "https://a2agent.me/v1/chat/completions", "supportsToolCall": true }] }03Pass the key and launch
The CLI reads the environment variable at startup.
Shellexport A2AGENT_API_KEY='YOUR_A2AGENT_API_KEY' codebuddy --model YOUR_MODEL_ID
Capabilities and limits
- Project configuration can override user configuration; check both when troubleshooting.
- CLI and IDE configuration can differ. Use the separate editor guide for the IDE.
Verify the connection
Replace every placeholder and run locally. Expect JSON containing OK. Then start a new client conversation, test one read-only tool call separately, and confirm the requests in A2Agent usage records. This test incurs a small amount of model usage.
curl --fail-with-body --silent --show-error --max-time 60 'https://a2agent.me/v1/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_A2AGENT_API_KEY' \
-d '{"model":"YOUR_MODEL_ID","max_tokens":128,"messages":[{"role":"user","content":"Reply with OK."}]}'Troubleshooting
If the model is missing, check whether availableModels filters it out, then inspect JSON syntax and the startup environment.
401 / 403: authentication or access denied
Use a key issued by A2Agent, without extra spaces, and check that it is active and unexpired. Confirm the group permits the model and protocol. A vendor subscription credential cannot replace an A2Agent key.
404 / model not found: endpoint or model mismatch
Check the root URL, /v1 prefix and full request path against this guide; avoid duplicated paths. Model IDs are case-sensitive and must be accessible to the current key.
429: quota or rate limit
Check your balance, key limits, concurrent usage and service status. Wait before retrying and reduce simultaneous agents; repeated retries do not remove a quota limit.
Chat works, but tools fail or streaming stops
Test a short text request, then a single read-file tool call. Check tool support, output budget, proxy timeouts and client version. Inspect the diff before resuming a long task to avoid repeating actions.
Restore previous settings
Select the previous model, remove the added object from models, and close the terminal.
Sources and check date
Status is based on official configuration docs, not end-to-end client testing with A2Agent.
Docs checked 2026-09-18
