Skip to content

Shelly v5.3.8 — Codex-first Android AI terminal

Choose a tag to compare

@RYOITABASHI RYOITABASHI released this 01 Jun 22:36

Shelly v5.3.8 — Codex-first Android AI terminal

Shelly v5.3.8 is the release where the Android terminal surface becomes
Codex-first. The earlier v5.3.x line explored multiple foreground AI CLIs on
Android; this release narrows the support promise to the path that Shelly can
own end-to-end: Codex in the terminal, API/local providers in the AI Pane, and
managed update/repair flows for both the APK and Codex runtime.

This is not a retreat from multi-provider AI. It is a clearer boundary:
interactive terminal CLI support is focused on Codex, while Gemini, Groq,
Cerebras, Perplexity, local OpenAI-compatible servers, and background agents
remain AI Pane/provider features.

Release surface

Surface Status
Codex CLI Supported foreground terminal CLI
Codex runtime updater Supported through Settings -> Updates
Android APK updater Supported through android-latest/latest.json
AI Pane providers Supported where configured
Background agents Supported through provider/API routes
Claude Code / Gemini CLI direct foreground integration Not part of the supported v5.3.8 CLI surface

Highlights

  • CLI support is Codex-first. Shelly now treats Codex as the supported
    foreground terminal AI CLI. Other AI systems are routed through the AI Pane
    and explicit provider configuration instead of direct CLI integration.
  • Android APK updates are in-app. Shelly reads the public
    android-latest/latest.json release manifest, compares versionCode,
    downloads the APK, verifies SHA-256, and hands the verified file to
    Android's package installer.
  • Codex runtime updates are managed separately from APK updates. The
    Updates UI can download the rolling codex-runtime-latest tarball, verify
    SHA-256, smoke-test both codex_tui and codex_exec, promote the runtime
    under ~/.shelly-runtime/codex/current, or reset back to the APK-bundled
    runtime.
  • Cross-pane intelligence is hardened. Terminal context capture now has
    stronger pane selection, terminal-log sanitization, local LLM context
    compaction, and safer error-file staging behavior.
  • Startup and focus stability were improved. This line includes fixes for
    startup service ANRs, focus/widget update behavior, and background agent work
    running too early during launch.
  • Scouter now surfaces Codex pressure. The Android home widget shows Codex
    token flow, cache, model, stale/rate-limit cooldown state, local LLM health,
    and device load without opening Shelly.
  • Download visibility is improved. APK update logs now show bytes,
    percentage, and throughput instead of only elapsed time, which makes slow
    GitHub asset downloads diagnosable on-device.
  • APK downloads detach safely. The updater now launches the long-running
    release-asset download as a detached bash job, preventing the native
    execCommand wrapper from leaving partial APK files without status.
  • Release version metadata is aligned. package.json, Expo
    runtimeVersion, Android versionName, and checked-in native metadata are
    aligned to 5.3.8.
  • Codex version ownership is explicit. The shipped Android runtime is the
    pinned .ci-versions / codex-runtime-latest native payload; the npm
    @openai/codex dependency is not the authoritative release runtime.

Why direct Claude Code / Gemini CLI support was narrowed

Claude Code and Gemini CLI can be made to run on Android or Termux-like
environments, but supporting them as first-class foreground CLIs inside an
Android app is more than launching a binary. The app has to own login,
credential storage, PTY behavior, updates, native binary compatibility,
diagnostics, and repair paths.

In the v5.3.x testing cycle, that surface was too broad to keep reliable across
Codex, Claude Code, and Gemini CLI at the same time. Codex is the path Shelly
can currently support with a complete Android-native lifecycle: login wrapper,
bundled runtime, verified runtime updates, smoke tests, and reset/repair.

Claude, Gemini, Groq, Cerebras, Perplexity, and local LLMs are still useful in
Shelly, but the release promise is now explicit: they are AI Pane/provider
routes, not supported foreground terminal CLIs in this version.

Update model

Shelly v5.3.8 has two update lanes:

  1. APK update lane — GitHub Actions publishes the release APK and
    latest.json to the rolling android-latest release. The app compares
    Android versionCode, downloads to
    /sdcard/Download/shelly-update-<versionCode>/, verifies SHA-256, then
    opens Android's package installer.
  2. Codex runtime lane — GitHub Actions publishes a Codex runtime tarball
    and codex-runtime.json to codex-runtime-latest. The app verifies,
    extracts, smoke-tests, promotes, and can reset to the bundled runtime if the
    app-data runtime is broken or unwanted.

Expo OTA remains disabled for release APKs. The installed APK is the source of
truth for JS and native behavior.

Current release artifacts

versionName: 5.3.8
versionCode: 1388
codex: 0.135.0
codex-termux: v0.135.0
commit: aa40a1f4de4473aac0ab13937b5cefab2475727b
run: 26792917188
APK size: 699829175 bytes
APK sha256: 4012e58dad83c7a7f4415470f3bb410f2ccaff9adb0b17bef71e9bd17d687173

Latest APK:

https://github.com/RYOITABASHI/Shelly/releases/download/android-latest/Shelly-android-v5.3.8-1388-26792917188-1-aa40a1f4de44.apk

Manifest:

https://github.com/RYOITABASHI/Shelly/releases/download/android-latest/latest.json

Upgrade notes

  • If an older APK refuses to install, check the installed Android
    versionCode; Android rejects downgrades even when the version name looks
    similar.
  • If Codex behaves oddly after a runtime update, use Settings -> Updates ->
    Reset
    to fall back to the APK-bundled Codex runtime.
  • APK downloads are large, around 700 MB, because Shelly bundles real Android
    native runtime payloads instead of relying on Termux/proot.
  • GitHub Releases remain the current distribution path. Play Store and F-Droid
    are still future work.