Configuration
This page collects the API and web configuration in one place.
API configuration
The API reads standard ASP.NET Core configuration sources. In local development, keep secrets out of JSON files: use .NET user-secrets or environment variables for secret values, and use appsettings.Development.json / appsettings.Local.json only for non-secret settings.
Storage and git settings
Agentweaver stores its operational state (runs, projects, the per-run event log, team memory, and decisions) in a single EF Core database. The backend is selected with Database:Provider.
| Key | Default | Purpose |
|---|---|---|
Database:Provider | sqlite | Database backend: sqlite, sqlserver/azuresql, or postgres/postgresql |
Database:Path | data directory under %LOCALAPPDATA%/agentweaver | SQLite only — the directory of this path holds the memory.db file (the file name is always memory.db) |
Database:ConnectionString | none | Connection string fallback for SQL Server / PostgreSQL when no named connection string is set |
ConnectionStrings:MemoryDb | none | Connection string for SQL Server (sqlserver/azuresql); also a fallback for PostgreSQL |
ConnectionStrings:Postgres | none | Connection string for the PostgreSQL provider (uses the Agentweaver.Api.Migrations.Postgres migrations assembly) |
Worktrees:BasePath | worktrees under the data directory | Root folder for per-run git worktrees |
Git:Author:Name | Agentweaver | Author name for run commits and merge commits |
Git:Author:Email | agentweaver@localhost | Author email for run commits and merge commits |
Default storage location
With the default sqlite provider, the database file is memory.db inside the app data directory (%LOCALAPPDATA%/agentweaver on Windows, the platform-equivalent local application data folder elsewhere). See Memory reference for the schema and provider details.
Authentication settings
| Key | Default | Purpose |
|---|---|---|
Auth:GitHub:ClientId | none | GitHub OAuth App client ID — required for sign-in |
Auth:GitHub:ClientSecret | none | GitHub OAuth App client secret — required for sign-in |
Auth:GitHub:CallbackUrl | none | OAuth callback URL registered in the GitHub App (must match exactly) |
Auth:GitHub:FrontendUrl | none | URL the API redirects to after a successful sign-in |
Auth:GitHub:AllowedOrg | none | When set, users must belong to this GitHub org to access the API |
Auth:GitHub:ScopeProvider | caller | Token scope selection. caller isolates credentials per signed-in user; set to installation only to revert to the old shared installation scope for single-user local dev. |
Set the OAuth client secret locally with user-secrets:
cd apps/Agentweaver.Api
dotnet user-secrets set "Auth:GitHub:ClientSecret" "<your-oauth-app-client-secret>"CORS settings
| Key | Default | Purpose |
|---|---|---|
Cors:AllowedOrigins | [] | Array of origins the browser is allowed to call from (e.g. http://localhost:8080 for the web UI in development) |
Provider settings
| Key | Default | Purpose |
|---|---|---|
Providers:GitHubCopilot:Model | claude-sonnet-4.6 | Model name used for GitHub Copilot runs. The token comes from the signed-in user's OAuth session — no API key is needed. |
Logging verbosity
The committed appsettings.json quiets framework and EF Core noise while keeping the app's own logs at Information:
| Category | Level | Purpose |
|---|---|---|
Default | Information | Baseline level for uncategorised logs. |
Agentweaver | Information | The app's own logs (Agentweaver.*) stay verbose. |
Microsoft | Warning | Quiets general framework Information noise. |
Microsoft.AspNetCore | Warning | Quiets per-request hosting/routing Information logs. |
Microsoft.EntityFrameworkCore | Warning | Suppresses EF Core query/SQL Information spam (e.g. Microsoft.EntityFrameworkCore.Database.Command). |
Grounded in apps/Agentweaver.Api/appsettings.json (Logging:LogLevel). Override per-environment with appsettings.{Environment}.json or Logging__LogLevel__<Category> environment variables; the cluster deployment does not re-enable EF/framework Information logs.
Web environment variables
The web UI authenticates users through GitHub OAuth and sends the resulting session token automatically — it does not require a static API key.
| Variable | Required | Default | Purpose |
|---|---|---|---|
VITE_API_URL | No | http://localhost:5000 | API base URL for the browser client. In container deployments this is injected at runtime as /api via window.__AGENTWEAVER_CONFIG__. |
Example local setup
$env:ASPNETCORE_ENVIRONMENT = "Local"VITE_API_URL=http://localhost:5000