@@ -245,10 +245,32 @@ async function streamOutput(baseUrl: string, sessionId: string, authToken: strin
245245}
246246
247247export async function handleRun ( args : string [ ] , io : CliIO ) : Promise < number > {
248+ // #3358: Show run-specific help
249+ if ( args . includes ( '--help' ) || args . includes ( '-h' ) ) {
250+ writeLine ( io . stdout ) ;
251+ writeLine ( io . stdout , ' ag run <prompt> [options]' ) ;
252+ writeLine ( io . stdout ) ;
253+ writeLine ( io . stdout , ' Create a session, deliver a brief, and stream output.' ) ;
254+ writeLine ( io . stdout ) ;
255+ writeLine ( io . stdout , ' Arguments:' ) ;
256+ writeLine ( io . stdout , ' <prompt> Task description for Claude' ) ;
257+ writeLine ( io . stdout ) ;
258+ writeLine ( io . stdout , ' Options:' ) ;
259+ writeLine ( io . stdout , ' --cwd <path> Working directory (default: current directory)' ) ;
260+ writeLine ( io . stdout , ' --port <number> Server port override (default: 9100)' ) ;
261+ writeLine ( io . stdout , ' --no-stream Don\'t stream output; print status only' ) ;
262+ writeLine ( io . stdout , ' --accept-permissions Auto-approve tool permissions (-y)' ) ;
263+ writeLine ( io . stdout , ' --model <model> Override default Claude model' ) ;
264+ writeLine ( io . stdout , ' -h, --help Show this help message' ) ;
265+ writeLine ( io . stdout ) ;
266+ return 0 ;
267+ }
268+
248269 // Extract prompt
249270 const brief = args . find ( ( a ) => ! a . startsWith ( '-' ) ) ;
250271 if ( ! brief ) {
251272 writeLine ( io . stderr , ' ❌ Missing prompt. Usage: ag run "Build a REST API" [--cwd /path]' ) ;
273+ writeLine ( io . stderr , ' Run ag run --help for available options.' ) ;
252274 return 1 ;
253275 }
254276
0 commit comments