Problem
When the built-in shell tool returns a truncated output preview, structured tool.execution_complete shell_exit content exposes outputPreview and outputTruncated, but the public SDK does not expose a typed location for the complete output.
SDK consumers therefore cannot provide a reliable "open full output" experience. VS Code Agent Host currently has to fall back to generic tool completion display text and deliberately does not parse a path out of that presentation-oriented prose.
VS Code tracking issue:
Related shell-tool SDK surface request:
Ask
Add an optional outputFilePath field to the public shell-exit event type:
export interface ToolExecutionCompleteContentShellExit {
type: "shell_exit";
shellId: string;
exitCode: number;
cwd?: string;
outputPreview?: string;
outputTruncated?: boolean;
/** Path to the complete output when it is available as a file. */
outputFilePath?: string;
}
The important part is that the complete-output location is structured SDK data rather than presentation text.
Desired semantics
- Present only when the complete output is available as a file.
- Identifies the complete output corresponding to
outputPreview.
- Documents which filesystem namespace the SDK consumer resolves the path in.
- Documents the file's availability/lifetime and text encoding.
- Remains optional and backward compatible when no complete-output file is available.
Acceptance criteria
- Expose
outputFilePath?: string in the public SDK shell-exit event types.
- Generate the field consistently across supported SDK languages.
- Document its resolution and availability semantics.
- Add SDK contract/code-generation coverage for events with and without the field.
- Enable VS Code Agent Host to consume the structured value without parsing generic tool progress or completion text.
Problem
When the built-in shell tool returns a truncated output preview, structured
tool.execution_completeshell_exitcontent exposesoutputPreviewandoutputTruncated, but the public SDK does not expose a typed location for the complete output.SDK consumers therefore cannot provide a reliable "open full output" experience. VS Code Agent Host currently has to fall back to generic tool completion display text and deliberately does not parse a path out of that presentation-oriented prose.
VS Code tracking issue:
Related shell-tool SDK surface request:
Ask
Add an optional
outputFilePathfield to the public shell-exit event type:The important part is that the complete-output location is structured SDK data rather than presentation text.
Desired semantics
outputPreview.Acceptance criteria
outputFilePath?: stringin the public SDK shell-exit event types.