Skip to content

Configuration Basics ​

This page explains where MANYOYO configuration lives and which value wins when sources conflict. You can use MANYOYO without any config; read this when you want to pin an agent, environment variables or mounts.

One file ​

There is a single global config: ~/.manyoyo/manyoyo.json, read automatically by every manyoyo command when it exists. The format is JSON5, which allows comments, trailing commas and unquoted keys:

json5
{
    // global defaults
    imageVersion: "2.3.1-common",
    runs: {
        // named run profile: manyoyo run -r claude
        claude: {
            envFile: ["/abs/path/anthropic.env"],
            yolo: "c",
        },
    },
}
  • manyoyo run -r <name> reads runs.<name>; it takes a name, not a file path.
  • envFile and --ef accept absolute paths only.
  • containerName, hostPath and containerPath support templates: {now} expands to YYYYMMDD-HHmmss (e.g. 20261024-230915), and {quickChatPath} expands to the quick chat directory (~/.manyoyo/work if unset). A hostPath generated from a template is only created when the container is actually created. When the web UI creates a container without a hostPath, it defaults to {quickChatPath}/{now} and never mounts the directory serve was started from.
  • All fields are listed in Config files.

Four-layer priority ​

Command line > runs.<name> > global config > defaults

Different parameter types merge differently:

TypeParametersBehavior
ScalarcontainerName, hostPath, containerPath, imageName, imageVersion, containerMode, yolo, shellPrefix, shell, serverUser, serverPassOnly the highest-priority value is used
MapenvMerged by key; for the same key the higher priority wins
ArrayenvFile, volumes, ports, imageBuildArgsAppended in order global, then runs.<name>, then command line; all apply
First-runfirst.shellPrefix/shell/shellSuffix, first.env, first.envFileRun once when a container is newly created; each field follows the rule above

serverUser / serverPass can also fall back to the environment variables MANYOYO_SERVER_USER / MANYOYO_SERVER_PASS (lower than global config, higher than defaults); see Web service.

Minimal example ​

bash
# global: imageVersion 2.3.1-common; runs.demo: imageVersion 2.3.1-full, env VAR2
# command line: -e VAR3=value3
manyoyo run -r demo -e "VAR3=value3"
# image is 2.3.1-full (runs overrides global); VAR2, VAR3 and the global env all apply

See the final result ​

bash
manyoyo config show -r demo      # merged final config
manyoyo config command -r demo   # container command that will run

Next ​

Released under the MIT License.