Settings
Manage your Bahulam account, API keys, billing, and preferences from the dashboard at bahulam.ai.
Dashboard
The dashboard is your central hub for Bahulam account management.
Sections
| Section | Purpose |
|---|---|
| Profile | GitHub username, email, avatar, plan tier |
| Sessions | History of Bahulam CLI sessions |
| Billing | Plan management, credits, invoices |
| Models | Set default model, configure sub-agent routing |
| API Keys | Manage BYOK provider keys |
| Preferences | Theme, editor settings, defaults |
Plans & Billing
Platform Default
The platform default uses Bahulam’s hosted model routing. You are billed in credits based on token usage. Your plan determines how many credits you get per month.
| Plan | Monthly Credits | Price |
|---|---|---|
| Pro | 50,000 | $19/mo |
| Plus | 200,000 | $49/mo |
| Max | 500,000 | $99/mo |
Credits View
The credits widget in the dashboard shows:
- Current balance — available credits
- Usage this month — credits consumed
- Plan tier — your current subscription
- Credit packs — one-time top-up purchases
Credits roll over month-to-month on annual plans. On monthly plans, unused credits expire at the end of the billing cycle.
BYOK (Bring Your Own Key)
When you configure a BYOK provider, Bahulam Gateway routes requests with your API key instead of Bahulam-managed model credentials. In BYOK mode:
- Credits are not consumed — your provider bills you directly
- You can use any supported model — not just the platform default set
- Sub-agent routing still applies — but uses model IDs you configure
- Traces stay consistent — bundled local runs and cloud runs use the same gateway execution path
To set up BYOK:
- Go to Settings → API Keys
- Choose a provider (OpenRouter, Anthropic, OpenAI, etc.)
- Enter your API key
- Save — the key is encrypted and stored securely
You can also set keys via environment variables:
export OPENROUTER_API_KEY="sk-or-v1-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."Platform Default vs BYOK
| Aspect | Platform Default | BYOK |
|---|---|---|
| Setup | None — works out of the box | Requires API key |
| Billing | Credits from your plan | Direct provider billing |
| Models | Curated set | Full provider catalog |
| Caching | Platform-managed | Provider-managed |
| Data handling | Via Bahulam infrastructure | Via Bahulam Gateway using your provider credentials |
You can switch between platform default and BYOK at any time — no config changes needed. Bahulam auto-detects which gateway to use based on the model selected.
Model Settings
In Settings → Models, you can configure:
- Default model — the model used for your primary coding turns
- Explorer model — the model used for read-only sub-agent passes
- Planner model — the model used for planning sub-agent passes
- Specialist models — optional routing for verifier, debugger, refactor, or user-defined sub-agents
Each setting has a dropdown filtered by the available models for your selected gateway.
Profile
Your profile page shows:
- Email — the email associated with your GitHub account
- GitHub username — used for authentication
- Plan — your current tier
- BYOK status — whether a custom API key is configured
Preferences
- Theme — light, dark, or system default
- Editor preferences — font size, line height (for Studio workspace)
- Default workspace — which workspace type loads on login
Project-Level Configuration
In addition to the web dashboard, Bahulam reads settings from files inside
each project’s .bahulam/ directory. Project settings merge on top of
global defaults.
| File | Purpose |
|---|---|
.bahulam/settings.json | Project-wide settings: environment entries, permissions, hooks |
.bahulam/settings.local.json | Personal overrides (gitignored — safe for per-developer config) |
.bahulam/config.json | Project policy: context loading, planning, tasks, HITL, and command defaults |
Settings Merge Order
- Built-in defaults
- User home (
~/.bahulam/config.json) - Project (
<project>/.bahulam/settings.json) - Local override (
<project>/.bahulam/settings.local.json) - Environment variables (highest priority)
Run bahulam init in a project to scaffold the .bahulam/ directory
with starter settings files.