A key or section that isn't in the tables below is an error, and the message lists the names the section does have, so a typo can't be ignored silently:
kavach.toml
1
2
3
[package]name = "shop"taks = "threads"
Problems1OutputTerminalCompile error
The compiler refused the program:
error: unknown key `taks` in [package]: expected one of `name`, `version`, `edition`, `unsafe`, `tasks`
TOML3 lines · UTF-8
kavach.toml: TOML code, then what running it prints
[package]
Key
Values
Default
Spec
name
text
""
10.4
version
text
""
10.4
edition
text, such as "2026"
""
10.8
unsafe
true, false
false
6.4
[build]
Key
Values
Default
Spec
version_flag
true, false
false
10.5: the program answers --version itself
[limits]
Key
Values
Default
Spec
file_lines
a whole number
500
12.1
fn_lines
a whole number
80
12.1
level
"error", "warn", "off"
"error"
12.1
include
a list of file patterns
["**/*.kav"]
12.1
exclude
a list of file patterns
[]
12.1
[limits.files]
Key
Values
Default
Spec
a file's path
a whole number: that file's own limit
none
12.1
[test]
Key
Values
Default
Spec
cases
a whole number
200
11.9
deep_cases
a whole number
10000
11.9
time_budget
a time per call: "500ms", "1s", "2m"
"1s"
11.9
[ai]
Key
Values
Default
Spec
provider
"anthropic"
"anthropic"
8.4
[agents]
Key
Values
Default
Spec
folder
a folder's path
"agents"
8.5: each agent's state, journal and audit log go in <folder>/<Name>/; the rest of an agent's settings are in its code (settings)
[log]
Key
Values
Default
Spec
level
"debug", "info", "warn", "error"
"info"
14.12
console
true, false
true
14.12
file
a file's path
none
14.12
max_bytes
a whole number
10000000
14.12
keep
a whole number
5
14.12
[log.levels]
Key
Values
Default
Spec
a module or event type
a level, as in [log]
none
14.12
[log.otlp]
Key
Values
Default
Spec
endpoint
a URL; required in this section
none
14.12
service
text
the package's name
14.12
Paths in kavach.toml are relative to the folder it is in.
Environment variables
Set in the shell before running a program, for one run, instead of in a file:
Variable
Values
What it does
Spec
KAVACH_GPU
off, on, check
Where map with a gpu fn runs
15.2
ANTHROPIC_API_KEY
a key
The key ask uses; never in kavach.toml
8.4
KAVACH_AI_URL
a URL
Where ask sends its requests (a test server)
8.4
NO_COLOR
any text
No colors in what the program prints
14.12
KAVACH_CHECK_LEAKS
any value
At the end, report heap objects that were never freed
6.1
KAVACH_BACKEND
cranelift
kavach build uses Cranelift instead of LLVM
10.5
KAVACH_LLVM_BIN
a folder
Where LLVM's tools are
10.5
KAVACH_RUNTIME_LIB
a file's path
Where the runtime library is, for linking
10.5
KAVACH_UNPACKED
a folder
Where a program built with --compress unpacks itself
10.5
KAVACH_SERIAL
any value
Loops that would run on all cores run on one
9.3
KAVACH_ENV_FILE
a file's path
The .env file a built program reads, instead of the one beside it
10.13
KAVACH_PROCESS_CALL
a number
Set by spawn process for the program it starts: run only that call; not for setting by hand