diff --git a/src/cli/App.tsx b/src/cli/App.tsx
index 015bee4..b354d93 100644
--- a/src/cli/App.tsx
+++ b/src/cli/App.tsx
@@ -1094,6 +1094,7 @@ export default function App({
{showExitStats && (
)}
diff --git a/src/cli/components/InputRich.tsx b/src/cli/components/InputRich.tsx
index 8efc7a7..8c53aff 100644
--- a/src/cli/components/InputRich.tsx
+++ b/src/cli/components/InputRich.tsx
@@ -86,9 +86,8 @@ export function Input({
useInput((input, key) => {
if (input === "c" && key.ctrl) {
if (ctrlCPressed) {
- // Second CTRL-C - call onExit callback then exit application
+ // Second CTRL-C - call onExit callback which handles stats and exit
if (onExit) onExit();
- process.exit(0);
} else {
// First CTRL-C - start 1-second timer
setCtrlCPressed(true);
diff --git a/src/cli/components/SessionStats.tsx b/src/cli/components/SessionStats.tsx
index 47a33dd..9679b5b 100644
--- a/src/cli/components/SessionStats.tsx
+++ b/src/cli/components/SessionStats.tsx
@@ -3,6 +3,7 @@ import type { SessionStatsSnapshot } from "../../agent/stats";
interface SessionStatsProps {
stats: SessionStatsSnapshot;
+ agentId?: string;
}
function formatDuration(ms: number): string {
@@ -16,7 +17,7 @@ function formatNumber(n: number): string {
return n.toLocaleString();
}
-export function SessionStats({ stats }: SessionStatsProps) {
+export function SessionStats({ stats, agentId }: SessionStatsProps) {
const wallDuration = formatDuration(stats.totalWallMs);
const apiDuration = formatDuration(stats.totalApiMs);
@@ -29,6 +30,7 @@ export function SessionStats({ stats }: SessionStatsProps) {
{formatNumber(stats.usage.promptTokens)} input,{" "}
{formatNumber(stats.usage.completionTokens)} output
+ {agentId && Agent ID: {agentId}}
);
}