Horus
- Debian: recover from an interrupted install instead of failing with "dpkg was interrupted" every time after
- Give slow first-time tool installs more time before stopping them
- Say so when claude.ai sends a web page instead of the Claude Code installer
- Show the length limit on username and project name fields
Ask an agent to fix a failing test while you're on the bus, then put the phone away. Sessions run in a foreground service, so they keep working with the screen off, and Horus sends a notification when an agent finishes or needs an answer from you.
What you get
- Coding agents in one tap. Pick an agent and Horus installs it the first time you open it, with the installer output right there in the terminal. You sign in inside each CLI; Horus never sees your provider credentials.
- A real Linux shell. Alpine comes from a pinned minirootfs whose SHA-256 digest is checked before anything is unpacked, and git, curl, ripgrep, Python, and Node are installed on demand. npm test, pytest, and a static ffmpeg build all run the way they would on a server.
- A terminal you can use with your thumbs. Swipe typing works, links open with a tap, and a key bar above the keyboard adds Esc, Tab, arrows, paste, and one-shot Ctrl and Alt.
- Your projects. Create a folder, clone any HTTPS or SSH Git URL, or sign in to GitHub and pick one of your repositories.
- Up to four sessions at once, say Claude Code in one project and Codex in another, each with its own notification.
- A file browser for checking what the agents changed, with text previews and a button that copies any folder to your Downloads.
- A lock. An optional password protects the app, and the workspace locks itself after 15 minutes in the background.
- Optional USB access from a computer. Pair the open-source horus command-line tool to get an SSH shell on the phone, copy files, forward ports, or run one command on several phones. It's off by default, listens only on the phone's loopback (reached through adb), and accepts only computers paired with your Horus password.
Things to know
- Horus needs an ARM64 (arm64-v8a) phone running Android 7.0 or newer.
- Alpine, its packages, and the agents download from their upstream servers when you first use them; mirrors are available in Settings for networks that can't reach those servers. Claude Code and Codex need accounts with their providers. Claude Code is proprietary, while Codex (Apache-2.0), OpenCode, and the shell are free software.
- Android's app sandbox is the only security boundary. PRoot emulates user IDs but gives no kernel isolation, so don't run code you don't trust.
Anti-Features
This app has features you may not like. Learn more!
-
This app promotes non-free add-ons
Offers to install Claude Code, which is proprietary.
-
This app promotes or depends entirely on a non-free network service
Downloads Alpine Linux, its packages, and the coding agents from their upstream servers; Claude Code and Codex need accounts with their providers.
- Author: Scarif Labs
- License: MIT License
- Issue Tracker
- Source Code
- Changelog
- Build Metadata
- Reproducibility Status
Donate
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid-
arm64-v8aThis version requires Android 7.0 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Download APK 8.6 MiB PGP Signature | Build Log
-
arm64-v8aThis version requires Android 7.0 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Download APK 8.6 MiB PGP Signature | Build Log
-
arm64-v8aThis version requires Android 7.0 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Download APK 8.2 MiB PGP Signature | Build Log
- Sign in as either user; switching user stops the other's sessions
- Rename your user; old /home paths keep working
- sudo in your terminal and over SSH
- Package install progress, and a screen that says why an app couldn't install
- Log out from Settings
- Home shows who is signed in
- Claude Code, Codex and OpenCode over SSH share the app's logins
- New avatars
- CTRL and ALT apply to one key, so ^S can no longer freeze the shell
- Multi-threaded programs such as ffmpeg no longer end the session
- Faster output, and the view keeps up with the newest lines
- Agent installs show download progress as a percentage
- Fixes for the background service on Android 16 and a crash when Android refuses it
- New screenshots and description
- clear and exit work as expected in the bare terminal











