Commit 23e8dd7e13e3

Vincent Demeester <vincent@sbr.pm>
2026-08-03 16:23:08
feat(pi): support PI_START_MODE env var for mode
Allowed starting pi with a preset mode without passing --start-mode, which made shell aliases and per-project envrc setups awkward.
1 parent 4bda0e6
Changed files (1)
dots
pi
agent
dots/pi/agent/extensions/prompt-editor.ts
@@ -1240,7 +1240,7 @@ function applyEditor(pi: ExtensionAPI, ctx: ExtensionContext) {
 export default function (pi: ExtensionAPI) {
 	// Register --start-mode CLI flag
 	pi.registerFlag("start-mode", {
-		description: "Start with a specific mode from modes.json",
+		description: "Start with a specific mode from modes.json (env: PI_START_MODE)",
 		type: "string",
 		default: "",
 	});
@@ -1359,7 +1359,7 @@ export default function (pi: ExtensionAPI) {
 		// Check --start-mode CLI flag — apply mode ephemerally without
 		// persisting provider/model to settings.json so subsequent launches
 		// aren't affected.
-		const startMode = pi.getFlag("start-mode") as string;
+		const startMode = ((pi.getFlag("start-mode") as string) || process.env.PI_START_MODE || "").trim();
 		if (startMode) {
 			const settingsPath = path.join(getGlobalAgentDir(), "settings.json");
 			const savedSettings = await fs.readFile(settingsPath, "utf8").catch(() => null);