···50505151All commands accept `--json` for machine-readable output on stdout (diagnostics go to stderr).
52525353+`mill --help` and `mill <command> --help` include a **Models** section. Those model lists are sourced from each configured driver's `codec.modelCatalog` effect (via resolved `mill.config.ts`), so driver registrations are what inform the CLI/main agent about available models.
5454+5355## FAQ
54565557**Couldn't I just do this with bash and claude -p?**
+8
packages/cli/src/public/index.api.test.ts
···847847848848 expect(code).toBe(0);
849849 expect(stderr).toHaveLength(0);
850850+ expect(stdout[0]).toContain("Models:");
851851+ expect(stdout[0]).toContain("codex (provider/model-id): openai-codex/gpt-5.3-codex");
850852 expect(stdout[0]).toContain("Authoring:\n CUSTOM_AUTHORING_INSTRUCTIONS");
851853 expect(stdout[0]).not.toContain("systemPrompt = WHO the agent is");
852854 });
···876878877879 expect(code).toBe(0);
878880 expect(stderr).toHaveLength(0);
881881+ expect(stdout[0]).toContain("Models:");
882882+ expect(stdout[0]).toContain("claude (provider/model-id): anthropic/claude-sonnet-4-6");
879883 expect(stdout[0]).toContain("systemPrompt = WHO the agent is");
880884 expect(stdout[0]).toContain("prompt = WHAT to do now");
881885 expect(stdout[0]).not.toContain("From config:");
···911915 expect(stdout.join("\n")).toContain(
912916 "Authoring (from config): CUSTOM_AUTHORING_IN_COMMAND_HELP",
913917 );
918918+ expect(stdout.join("\n")).toContain("Models:");
919919+ expect(stdout.join("\n")).toContain("codex (provider/model-id): openai-codex/gpt-5.3-codex");
914920 expect(stdout.join("\n")).not.toContain("systemPrompt = WHO the agent is");
915921 });
916922···940946 expect(code).toBe(0);
941947 expect(stderr).toHaveLength(0);
942948 expect(stdout.join("\n")).toContain("Authoring:\n systemPrompt = WHO the agent is");
949949+ expect(stdout.join("\n")).toContain("Models:");
950950+ expect(stdout.join("\n")).toContain("claude (provider/model-id): anthropic/claude-sonnet-4-6");
943951 expect(stdout.join("\n")).not.toContain("Authoring (from config):");
944952 });
945953