Configuration
March reads configuration from two places:
~/.march/config.json # global default
<project>/.march/config.json # project overrideMinimal config
{
"provider": "openai",
"model": "gpt-5.1"
}Project config overrides global config when both exist.
Network proxy
March installs one network environment for its internal HTTP requests. Configure it in ~/.march/config.json for a global default, or in <project>/.march/config.json for a project override.
Use an explicit proxy:
{
"network": {
"proxy": "http://127.0.0.1:7890",
"ca": "system"
}
}The scheme is optional; 127.0.0.1:7890 is treated as http://127.0.0.1:7890.
Proxy resolution order:
network.proxyin March config.HTTPS_PROXY,HTTP_PROXY, orALL_PROXYenvironment variables.- Windows system proxy when
network.proxyis"system"or omitted. - Direct connection.
Disable proxy explicitly:
{
"network": {
"proxy": "direct"
}
}"none" and false are also treated as direct mode.
Set bypass rules with network.noProxy:
{
"network": {
"proxy": "http://127.0.0.1:7890",
"noProxy": ["localhost", "127.0.0.1", "*.local"]
}
}Temporary shell configuration also works:
$env:HTTPS_PROXY="http://127.0.0.1:7890"
$env:HTTP_PROXY="http://127.0.0.1:7890"
marchNote: March applies this through Undici's global dispatcher. Libraries or transports that open their own sockets may need separate proxy support.
Custom providers
Use a custom provider when you run a local model or an OpenAI-compatible gateway.
{
"providers": {
"local-openai": {
"type": "openai-compatible",
"baseUrl": "http://localhost:1234/v1",
"auth": { "method": "apiKey", "apiKey": "local" },
"models": [{ "id": "qwen-coder", "contextWindow": 128000 }]
}
},
"provider": "local-openai",
"model": "qwen-coder"
}See Custom Providers for the full field list.