Skip to content

Horus

GitHub scarif-labs/horus

Install Horus

Download Zapstore

Download
QR code for zapstore.dev/download
  • Scan the code with your phone’s camera
  • Tap Download anyway if the browser warns about the file
  • Allow your browser to install unknown apps if Android asks
  • Open Zapstore and finish the onboarding

Open Horus in Zapstore

Open
QR code to open Horus in Zapstore
  • Scan the code to open Horus in Zapstore, or search for it there
  • Tap Install, and Download if Zapstore asks you to confirm the developer
  • Confirm in Android’s install dialog. Allow Zapstore to install unknown apps if Android asks

Unclaimed app

The catalog lists Horus from GitHub scarif-labs/horus and signs its releases. The developer has not claimed it. The file is still checked before you install it.

Are you the developer? Cryptographically prove you hold the key that signs it.

How trust works

Run coding agents like Claude Code, Codex, and OpenCode in a real Linux terminal on your phone. It unpacks an Alpine Linux workspace where you can edit files, run tests, and manage projects without root or Termux.

Your phone is an ARM64 Linux computer that spends most of its day running chat apps. Horus gives it a real job: it unpacks Alpine Linux inside the app and opens a terminal where Claude Code, Codex, and OpenCode can read your code, edit files, run the tests, and tell you what broke. You don't need root, Termux, or a computer.

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.

Summary generated by Zapstore from source.

Original description, as the developer published it.

Zap Horus

Zapping anonymously. Sign in to zap with your identity.

No developer has verified this app yet, so sats go to npub1gnwq4…thdn3y, the catalog that brought it to you.

Amount in sats

Latest release

Nov 7, 2026

Unclaimed app No Google servicesSource available · MIT

The catalog lists this app from GitHub scarif-labs/horus and signs its releases. The developer has not claimed it. Are you the developer? Claim your app

It asks for no sensitive access.

Permissions

  • Notifications POST_NOTIFICATIONS Send you notifications
  • Always running REQUEST_IGNORE_BATTERY_OPTIMIZATIONS Keep running in the background without limits
  • Files WRITE_EXTERNAL_STORAGE Read files on this phone

Release notes

What's new

  • Copy text from the terminal: a COPY key opens the screen and scrollback as selectable text
  • Double-tap Ctrl or Alt to lock it
  • Show download progress while adding a user
  • Show what went wrong when a tool install fails, with a report you can share
  • Recover more broken Debian package states
  • Stop SSH and app installs from fighting over the package lock
  • Stop logging sudo commands
  • Refuse duplicate user names

Install

  1. On your Android phone, download horus-1.2.0.apk.
  2. Open it and tap Install. If Android asks, allow your browser to install apps.

This is the same file as on F-Droid, so updating from either one keeps your data.

sha256
horus-1.2.0.apk 737d992a2c8badee978f13d88ed8b7ebad443b42927fcdc6a47e93d8ad66f6cf
APK signing certificate (F-Droid) 311e3d58a6f92b2704aff6fabb5ad2f1ceddfe8b4bda2ed4dafeb72819b7112c
sha256sum -c SHA256SUMS

# certificate digest must be 311e3d58…
apksigner verify --print-certs horus-1.2.0.apk

# F-Droid's PGP signature
gpg --keyserver hkps://keys.openpgp.org --recv-keys 37D2C98789D8311948394E3E41E7044E1DBA2E89
gpg --verify horus-1.2.0.apk.asc horus-1.2.0.apk

# or compare with F-Droid's copy (must print 737d992a…)
curl -sL https://f-droid.org/repo/com.scariflabs.horus_8.apk | sha256sum

Comments

Loading comments…

See more

Get Horus the private way

Updates checked on your device, and every release verified before it installs.

Get Zapstore for Android

  1. Tap Download APK below.Scan the code with your Android phone’s camera.
  2. If Android asks, allow your browser to install unknown apps.
  3. Open Zapstore and finish the onboarding.
Download APK

v2.0.4 · 71.2 MB · Android 10+

Verify the download

On a computer, run shasum -a 256 <the file you downloaded>. It should print: b13e01319fecf0b3ba1fd60132758bd0fa08a235836c52d44fddb412cf1b7137

If you have zsp, Zapstore’s publishing tool, zsp utils extract-apk <the file you downloaded> works too. Its hash should be the same SHA-256: b13e01319fecf0b3ba1fd60132758bd0fa08a235836c52d44fddb412cf1b7137

On the phone, AppVerifier should show this signing certificate: 99e33b0c2d07e75fcd9df7e40e886646ff667e3aa6648e1a1160b036cf2b9320

Source code All releases and notes

Get zsp

  1. Download the file for your computer.
  2. Make it executable and put it on your PATH.
  3. In your project folder, run zsp.

Have Go? This does the same:

go install github.com/zapstore/zsp/v2/cmd/zsp@latest
macOS, Apple silicon Linux, x86-64 Linux, arm64

v2.0.1 · macOS and Linux

Verify the download

On your computer, run shasum -a 256 <the file you downloaded>. It should print the SHA-256 for the one you chose.

macOS, Apple silicon · 18.6 MB 99018fb9744e5ace2b44557550dc333496239912c0e9b1137266d4922c803346

Linux, x86-64 · 23.8 MB 1ef5373f8ecd9ba63d2c3fab98abb0d31b2244a2aac31b3749fb205c7d5f5b38

Linux, arm64 · 22.1 MB e421005ee47cba58293dce4277bb784e4cfe706dbbcb8617d671629d0238be18

Source code All releases and notes