FAQ
If your question is not here, drop us a note via the Contact page.
Valxe is native Swift + SwiftUI, deeply integrated with iOS APIs (WKWebView, Keychain, Files, App Extensions). No Android is planned. macOS users should just use VS Code directly. This app exists to solve one specific pain: 'a real dev environment on iPad'.
The App Store version is a 7-day free trial + a NT$60 / US$1.99 one-time purchase for permanent unlock (buy once — no subscription, no monthly fee, no AI usage add-ons). The trial starts only when you tap "Start 7-Day Free Trial" in the app, once per Apple ID; the App Store keeps the record, so reinstalling does not reset it, and nothing is charged automatically when it ends. All features work during the trial; before you start it, or after it ends without a purchase, the app is in read-only mode — you can still open and browse files, while editing / creating / deleting files, the terminal, the AI assistant, Git and theme import need unlocking.
Twelve providers: Anthropic Claude, OpenAI, Google Gemini, DeepSeek, Groq, xAI (Grok), Mistral, OpenRouter, Zhipu GLM, Minimax, local Ollama, and a Custom OpenAI-compatible backend. Agent mode lets AI directly read/write your files and run terminal commands (5 built-in tools). Local Ollama supports LAN connection from iPad to your Mac — no data leaves your network. You bring your own API key; we don't bill you.
Stability is Valxe's top priority. Handled so far: pull no longer overwrites uncommitted local files, SSH no longer crashes on TTY-less servers, consecutive C/C++ runs no longer crash, reopening the same file no longer crashes, Stage Commit race conditions are fixed, and more; dependencies and UI details are upgraded as well. See the Changelog page on this site for what changed in each version. For important projects, we still recommend pushing to an external Git remote regularly.
Yes, but the experience is much worse — screen too small, keyboard covers the editor, terminal cramped. Strongly recommend iPad (especially iPad Air / Pro with an external keyboard), M-series chips run the language runtimes smoothest. iPhone is only good for quick one-or-two-line edits or checking a Git diff.
Absolutely not. Private keys live in iOS Keychain (system-encrypted, unreadable to other apps), and the app itself never sees the plaintext. We have no backend; we don't even know which hosts you connect to. Whether you generated the key yourself or not is also invisible to us.
Bundled: Python 3.9.2, Node.js 18.19.0, PHP 8.3.2, Clang 14.0.0 (C/C++ + WebAssembly), OpenJDK 8 (Java). Python can install pip packages, Node can install npm packages, PHP can run Laravel artisan. The simulator build (Valxe UI) is restricted — some runtimes only work on real devices.
The bundled Python / Node / PHP / Clang / OpenJDK runtimes are precompiled xcframeworks — those binaries alone approach 1GB (similar to installing a full dev toolchain on a desktop). The payoff is fully-offline language runtimes on your iPad. Worth it for developers; might be too big for code-readers.
Tell us through the contact form on this site. For bugs, include your device model, iOS / iPadOS version, Valxe version and the steps to reproduce — it helps us find the cause faster. For feature ideas, describe how you would use it.
Absolutely not. When the trial ends the app simply switches to read-only mode — you can still open and browse all files, copy contents and check settings. What's blocked is editing / creating / deleting files, the terminal, the AI assistant, Git and theme import. The files themselves are never deleted, modified or locked. Even if you never purchase, the code on your iPad stays safely in place and you can pull it out via iOS Files / iCloud Drive / AirDrop whenever you want.
Regular chat: you ask, AI answers — no file access. Agent mode: the AI can call 5 tools — `read_file`, `write_file`, `list_dir`, `grep`, `run_terminal`. Reading files, listing folders and searching happen on their own; anything that changes something needs your OK: before the AI writes a file or runs a terminal command, a confirmation card appears where you choose Allow, Deny or Allow for This Task — deny it and nothing runs. Tapping Stop or clearing the chat cancels it too. Path limits: reads and writes are confined to the workspace you have open; absolute paths, `../` and shortcuts (symlinks) pointing outside it are blocked, and so is any symlink along a remote SSH workspace path. Sandbox limits: Agent only accesses your opened workspace and cannot reach outside the iOS app sandbox.
Steps: (1) On Mac, run `OLLAMA_HOST=0.0.0.0 ollama serve` so Ollama listens on the LAN. (2) In Valxe → Settings → AI → add provider 'Ollama', set Server Address to `http://<Mac LAN IP>:11434` (e.g. `http://192.168.1.50:11434`). (3) When adding a model, the app calls `/api/tags` to verify and lists available models; failures show a clear message. Benefits: data never leaves your network, paid models replaced by free local models, and Agent tool-use still works (qwen2.5-coder / llama / mistral and other OpenAI function-calling-compatible models). If your Mac is off, the app fails gracefully — no crash.
What runs: Python 3.9.2 with pip (numpy, pandas, requests, flask, etc.), Node 18.19 with npm, PHP 8.3.2 with Composer, Clang 14 (C/C++ compile + WebAssembly output), OpenJDK 8 (Java + Kotlin via kotlinc). Desktop limits also apply on iPad: Python C extensions like numpy need an iOS arm64 prebuild to install; Node native modules (anything requiring node-gyp build) don't work; PHP lacks GD / Imagick / pcntl and other extensions requiring OS-level libraries. The simulator build (Valxe UI) is further restricted by iOS Simulator framework limits — some runtimes only work on real-device builds.
SwiftGit2 (libgit2 wrapper) handles large repos fine; iPad RAM and storage are the bottleneck. A base iPad (8GB RAM) struggles to clone Linux kernel (~4GB); M-series iPad Pro (16GB+) is much smoother. Tips: (1) Use `--depth=1` shallow clone for monorepos to save space. (2) `--single-branch` to avoid pulling all branch history. (3) For Git LFS binary assets, watch iPad storage and use `.gitattributes` to exclude. The Stage Commit race condition has been fixed (the `tab` race), so day-to-day commits never lose data to conflicts.
Good news: Monaco is the same engine as VSCode — syntax highlighting, autocomplete, multi-cursor, Emmet, and theme JSON are fully compatible. Just drop your VSCode color theme JSON into the app and it works. Main differences: (1) Extension ecosystem — VSCode extensions don't install directly, but the app uses a 'JS injection patch' pattern so the Swift layer can dynamically add/remove features. (2) Settings live in iOS settings, not a settings.json — but most keyboard shortcuts carry over (:wq, Cmd+P, Cmd+Shift+F all work). (3) iPad-only advantages: Stage Manager dual-window, 27" external display, Apple Pencil touch, all-day battery. The pitch is 'desktop-class on iPad', not 'replace your MacBook + VSCode'.