Skip to content
Tech Dev Notes
Apps

Every tracked app, its developer, and a lookup for any other app.

  • App directoryTracked apps on iOS and Android, by category
  • Find any appLive App Store and Google Play lookup
  • DevelopersPublishers and their apps
  • Compare appsHead to head ratings, ranks, versions
Charts

Live store charts, tracked app standings, and this week's movers.

  • App Store chartsLive top free, paid, grossing on iPhone
  • Google Play chartsLive top charts on Android
  • Tracked rankingsTracked apps across markets
  • MoversBiggest rises and drops this week
Screens

Real in-app screens, store listing screenshots, and launcher icons.

  • In-app screensReal-device iOS and Android UI
  • Store screenshotsApp Store and Google Play listings
  • App iconsAdaptive, monochrome, themed
Tech stacks

SDKs, frameworks and APIs detected in shipped app builds.

  • Tech stacks by appAnalyzed iOS and Android builds
  • TechnologiesEvery detected SDK and framework
AI tools

Changelogs for Claude Code, Codex, Cursor, Grok and more.

  • AI tool releasesLatest versions across tools
Notes

Articles and xAI side projects.

  • BlogArticles and guides
  • X feature flagsFeature switches in X web
  • Grok companionsAni, Mika, Rudi, Valentine
  • GrokipediaRandom article and index
Apps
  • App directory
  • Find any app
  • Developers
  • Compare apps
Charts
  • App Store charts
  • Google Play charts
  • Tracked rankings
  • Movers
Screens and icons
  • In-app screens
  • Store screenshots
  • App icons
Tech stacks
  • Tech stacks by app
  • Technologies
AI tool releases
  • AI tool releases
Notes
  • Blog
  • X feature flags
  • Grok companions
  • Grokipedia

Tech Dev Notes © 2026

RSSAboutPublic APIStatusSecurityPrivacyTermsSite map@techdevnotes
Grok Build

xAI · CLI

Grok Build 1.0.46

1.0.45→1.0.46·September 30, 2026 at 10:37 PM UTC

Patch release: PostToolUse / PostToolUseFailure hooks can rewrite the text the model sees (including large and failed tool results), and the updater understands named channels plus an optional private artifact prefix.

Changelog

  • [new] PostToolUseFailure hooks can replace the error text the model sees, not only attach additionalContext. They still cannot block. The event’s error field is what a replacement stands in for; updatedToolOutput or updatedMCPToolOutput wins last-writer, and a dispatch failure still reaches the model as Tool \` failed: `.
  • [changed] PostToolUse updatedToolOutput accepts a JSON string on any tool and uses it as the model-facing text verbatim, so a redaction hook can mask secrets and send the text back. Structured replacements on built-in tools still have to match grok’s own tagged output shape; a mismatched object is ignored and the original stands.
  • [fix] Oversized tool results can be redacted. Typed toolResult is sent while its JSON fits in 128 KB; larger results arrive as the full model-facing text with toolResultTruncated set, and a hook can echo that string back. Previously an oversized payload could not be returned as a replacement.
  • [changed] A replacement may be up to 64 K characters longer than the text it replaces. A redacted copy of a large output is never clipped. Block reasons and additionalContext are still capped at 10,000 characters.
  • [new] cli.update_base sets an optional private artifact prefix for the internal installer. Only an allowlisted prefix is accepted; the updater attaches a gcloud auth print-access-token bearer only to URLs under that prefix.
  • [changed] cli.channel is trimmed and lowercased and accepts stable, alpha, enterprise, and other named channels. Blank means stable; unknown names follow stable version rules. A user’s config.toml still wins over a fleet default on this key.

Upgrade notes

  • Hook authors: send a JSON string when you want to rewrite model-facing text; use PostToolUseFailure when you need to replace error text. Record, transcript, and telemetry still keep the original output.
  • Private or enterprise installs: set cli.update_base to an allowlisted prefix and run gcloud auth login first. To return to the public channel, set update_base = "" and run grok update --stable.
Older release← 56583e2c5e06Newer release→ d7f7f4438b32
All Grok Build releases →