Version 1.5

What’s New

  • Shortcuts: a-Shell is compatible with Apple Shortcuts. Run commands with “Execute command”, transfer files with “Get file” and “Put file”. The possibilities are pretty much endless. “Execute command” can take a text node or a file as input, so you can write scripts.
  • Customization: change the font, the colors, everything, from inside the App with config. You can even have different settings for different windows. Every new session loads the .profile file, for custom environment variables.
  • more pre-compiled commands are available at: These have been compiled to WebAssembly. You can download them, place them in the $PATH and they will be executed.
  • Voiceover: if you enable Voiceover in Settings, a-Shell will speak to you, reading commands and their output.


  • the Alt key now works for all character input on international keyboards.
  • Autocomplete on the command line goes as far as it can.
  • Command-X cuts text on the command line.
  • Multiple bug fixes.

Version 1.4

What’s New

  • clang and clang++ now compile to webAssembly, and you can execute code with wasm programName.
  • the wasi-sdk is included, so you can just compile your files with clang file.c.
  • The LLVM bytecode interpreter lli still works, but the default behaviour is now to compile to webAssembly.
  • webAssembly programs can read their standard input (but not interactively), write to their standard output and to local files.


Version 1.3

What’s New

  • the cursor is now indicating the active window
  • we’ve added the taskwarrior utilities (task)
  • we’ve added the clang and clang++ compilers. They translate your C code into LLVM bytecode (IR), which you can execute using the LLVM interpreter (lli).
    $ clang file.c
    $ lli file.ll
  • you can even combine multiple bytecode files together with llvm-link:
    $ clang file1.c
    $ clang file2.c
    $ llvm-link -o result.bc file1.ll file2.ll
    $ lli result.bc
  • Your programs have access to the C library, so printf(), scanf(), etc… work.
  • C++ input/output functions do not work. Its main use is to check for syntax errors in your code.
  • You can also compile to WebAssembly or Arm64 targets, but not execute the result of your compilations.

Bug fixes

  • fixed the Python installation (this removes the No module named "encodings" error)
  • more robust job management in Vim

Version 1.2

What’s New

  • a-Shell now saves your session content as soon as you go in the background, and restores it when the app goes in the foreground, even if it was terminated by iOS.
  • specifically, we save and restore, for all windows: the content of the buffer, the command history and the command that is running.
  • if Vim is running, we also save all opened files. We restore the content and position of all buffers and tabs, using vim-session.
  • permissions to access distant files and folders is also saved for future use.
  • you can list existing permissions with “bookmarks”, open a specific distant file or folder with “jump”, rename bookmarks with “renamemark”.
  • a-Shell automatically creates a bookmark every time you open a distant file or folder (e.g. with “pickFolder”) but you can rename it later.
  • you can remap caps-lock to escape, which can be useful for Vim users. As a side effect, this enables auto-repeat on external keyboards.
  • Vim was updated to the latest minor version.

Bug Fixes

  • accented characters had issues on some keyboards (not all). This is fixed now.

Version 1.1

What’s New

Opening files in Vim when Vim is already running: you have the option to open in new Window (default), new tab or new buffer.

Bug Fixes

  • a-Shell can now open files with spaces in their names. That includes files from iCloud and external file providers.

Version 1.0

First release on the AppStore.