GitHub
07/21/2026, 8:29 PMconsole distributed query type for internal console commands.
• Console queries are hidden from normal query lists and hidden-query tabs.
• Pending console queries request accelerated delivery when returned to osquery.
• Added console sessions with per-session working directory.
• Added read-only shell-like commands:
• pwd
• help
• clear
• ls [path]
• stat <path>
• ps
• cd <path>
• sql <select ...>
• Enforced one in-flight command per console session.
• Added console API routes gated by QueryLevel permissions.
• Added session ownership checks so users cannot drive another user's console session.
• Added React console UI with pending spinner, result rendering, and polling.
• Added Console button on node detail pages only when accelerated mode is enabled.
• Exposed accelerated through /api/v1/features.
Validation
• go test ./pkg/queries ./pkg/console ./cmd/api ./cmd/tls/handlers ./cmd/tls
• go test ./cmd/api/handlers -run Console
• go test ./cmd/api/handlers -run Features
• npm test -- NodeConsolePage.test.tsx
• npm test -- NodeDetailPage.test.tsx EnvConfigPage.test.tsx
• npm run check
• npm run build
Notes
• V1 is read-only.
• cat is intentionally unsupported because osquery does not expose arbitrary file contents.
• The Console UI is hidden unless osquery.accelerated is enabled.
• Vite build passes with the existing large chunk-size warning.
jmpsec/osctrlGitHub
07/21/2026, 8:43 PM