Where Does aria2 Keep Its Config and Session?
Why aria2 has no default config file, where people conventionally put aria2.conf, and where sessions resume from.
Last updated
aria2 ships with no config file at all. Every option has a built in default, and a config only exists if someone wrote one and pointed the daemon at it with --conf-path. The community convention is a folder named .aria2 in the home directory holding aria2.conf.
Session persistence works the same opt in way. Downloads resume only when --input-file and --save-session name the same session file. If aria2 forgets everything on restart, those two flags (or the frontend field mapping to them) are the missing piece.
Where aria2 stores this, by platform
~/.aria2/aria2.conf
Conventional home for aria2.conf, the session file, and the DHT files (dht.dat, dht6.dat). Systemd units commonly set --conf-path here explicitly. dir and the log path inside the conf decide where payloads actually land.
~/.aria2/aria2.conf
Same dot folder convention as Linux. Homebrew installs the binary only, so the folder appears only after you create it. Frontends store their own copies elsewhere, which is the usual reason edits seem to have no effect.
%USERPROFILE%\.aria2\aria2.conf
Create %USERPROFILE%\.aria2 and reference it with a full --conf-path, since Windows builds resolve relative paths against the launch folder. Backslashes in dir= lines need escaping or forward slashes.
Frequently asked questions
where is the aria2 config file
Most setups use ~/.aria2/aria2.conf on Linux and macOS (or %USERPROFILE%\.aria2\aria2.conf on Windows) and pass it with --conf-path. Desktop frontends like AriaNg keep their own copy, so check the frontend settings when the daemon ignores your edits.
where does aria2 keep the session file
Wherever --save-session points, commonly ~/.aria2/aria2.session. Pair it with --input-file pointing at the same path so downloads resume across restarts. An empty session file must exist first or aria2 errors on launch.
does aria2 create a config file by default
It has none out of the box. Every option has a compiled in default and config files are purely opt in via --conf-path. That is why two guides can show different paths: both authors just picked a convention.
Notice an outdated path? Let us know.