Termux:Widget (github version) Icon

Download Termux:Widget (github version) APK 0.15.0 arm64-v8a, armeabi-v7a, x86, x86_64 · Android 24+

By Fredrik Fornwall • Updated May 17, 2026
Personalization arm64-v8a, armeabi-v7a, x86, x86_64 Native (Java/Kotlin) 10.56 MB
Download APK
Verified Safe

This is the arm64-v8a, armeabi-v7a, x86, x86_64 build of Termux:Widget (github version) 0.15.0. Pick this build if your device's primary ABI matches.

File size: 10.6 MB   •   Min Android: 24   •   Target Android: 28   •   Version code: 1001   •   Framework: Native (Java/Kotlin)   •   Permissions: 2

File Information

Package Namecom.termux.widget
Version Name0.15.0
Version Code1001
Architecturearm64-v8a, armeabi-v7a, x86, x86_64
Min Android VersionAndroid 24 (API 28)
Main Activitycom.termux.widget.activities.TermuxWidgetLauncherActivity
FrameworkNative (Java/Kotlin)
File Size10.56 MB
Signature (SHA1)517955EABF69FC057C41C7D379DBBCEF20AD85F2
File Hash (SHA256)780ae459be479bedef2146eb00f7bc79f2a4f89dba2bffa7b55c470165bc66ed

What's New

v0.15.0 - 2025-09-02 00.37
Commit history:
v0.14.0...v0.15.0

App Description

Termux:Widget

A

Termux

plugin app to run scripts in Termux with launcher shortcuts and widgets.

Contents

Installation

Setup Instructions

Creating And Modifying Scripts

Debugging

Worthy Of Note

For Maintainers and Contributors

Forking

Installation

Latest version is

v0.15.0

.

Check

termux-app

Installation

for details before reading forward.

F-Droid

Termux:Widget

application can be obtained from

F-Droid

from

here

.

You

do not

need to download the

F-Droid

app (via the

Download F-Droid

link) to install

Termux:Widget

. You can download the

Termux:Widget

APK directly from the site by clicking the

Download APK

link at the bottom of each version section.

It usually takes a few days (or even a week or more) for updates to be available on

F-Droid

once an update has been released on

Github

. The

F-Droid

releases are built and published by

F-Droid

once they

detect

a new

Github

release. The Termux maintainers

do not

have any control over the building and publishing of the Termux apps on

F-Droid

. Moreover, the Termux maintainers also do not have access to the APK signing keys of

F-Droid

releases, so we cannot release an APK ourselves on

Github

that would be compatible with

F-Droid

releases.

The

F-Droid

app often may not notify you of updates and you will manually have to do a pull down swipe action in the

Updates

tab of the app for it to check updates. Make sure battery optimizations are disabled for the app, check

https://dontkillmyapp.com/

for details on how to do that.

Github

Termux:Widget

application can be obtained on

Github

either from

Github Releases

for version

>= 0.13.0

or from

Github Actions

.

The APKs for

Github Releases

will be listed under

Assets

drop-down of the release. These are automatically attached when a new version is released.

The APKs for

Github Actions

will be listed under

Artifacts

section of the workflow run. These are created for each commit/push done to the repository and can be used by users who don't want to wait for releases and want to try out the latest features immediately or want to test their pull requests. Note that for action workflows, you need to be

logged into a

Github

account

for the

Artifacts

links to be enabled/clickable. If you are using the

Github

app

, then make sure to open workflow link in a browser like Chrome or Firefox that has your Github account logged in since the in-app browser may not be logged in.

The APKs for both of these are

debuggable

and are compatible with each other but they are not compatible with other sources.

Google Play Store

(Deprecated)

Termux and its plugins are no longer updated on

Google Play Store

due to

android 10 issues

and have been deprecated. It is highly recommended to not install Termux apps from Play Store any more.

Check

https://github.com/termux/termux-app#google-play-store-deprecated

for details.

Setup Instructions

Install

Termux

app (Mandatory)

The

Termux:Widget

plugin requires

Termux

app to run the actual commands. You need to install it and start it at least once and have it install the bootstrap files for the plugin to start working. The Termux prefix directory

/data/data/com.termux/files/usr/

and Termux home directory

/data/data/com.termux/files/home/

must also exist and must have read, write and execute permissions

(0700)

for the plugin to work. The

$PREFIX/

is shortcut for the Termux

prefix directory

and can also be referred by the

$PREFIX

shell environment variable. The

~/

is a shortcut for the Termux home directory and can also be referred by the

$HOME

shell environment variable. Note that

~/

will not expand inside single or double quotes when running commands. Permissions and ownerships can be checked with the

stat

command.

Script Directories (Mandatory)

The

~/.shortcuts/

directory stores the scripts that can be run with the plugin in foreground terminal sessions in the

Termux

app. The

~/.shortcuts/tasks

directory stores the scripts that can be run with the plugin in background with the

Termux

app and will show as running tasks in

Termux

app notification.

The parent directory of the scripts must have read permission, otherwise the plugin will not be able to read the script files and will not show any scripts in the launcher widget and will give errors like

No regular file found at path

when executing launcher shortcuts. The parent directory of the script must also have executable permissions for the script to be allowed to execute.

Files under hidden directories whose name starts with a dot

.

, broken symlinks or files whose canonical path is not under the

~/.shortcuts

or

~/.termux

directory are not shown in the widget and execution is not allowed for the later either.

Open a non-root termux session and run the below commands to create the directories and give them read, write and executable permissions

(0700)

.

Create

~/.shortcuts/

directory.

mkdir -p /data/data/com.termux/files/home/.shortcuts chmod 700 -R /data/data/com.termux/files/home/.shortcuts

Create

~/.shortcuts/tasks

directory.

mkdir -p /data/data/com.termux/files/home/.shortcuts/tasks chmod 700 -R /data/data/com.termux/files/home/.shortcuts/tasks

Once you have created the directories, you can then create scripts files as per instructions in

Creating And Modifying Scripts

.

Once you have created script files, you can add a launcher widget for the

Termux:Widget

app that will show the list of the script files, which you can execute by clicking them. If you create/modify shortcuts files, you will have to press the refresh button on the widget for the updated list to be shown. You can also update all widgets from inside the app with the

REFRESH

button in the refresh widgets section. You can also refresh a specific widget by running

am broadcast -n com.termux.widget/.TermuxWidgetProvider -a com.termux.widget.ACTION_REFRESH_WIDGET --ei appWidgetId

from Termux terminal/scripts for version

>= 0.13.0

, where

id

is the number in the

Termux widgets reloaded: )

flash shown when you press the refresh button. You can pass

0

to update all widgets for version

>= 0.114.0

. Refreshing widgets with the in-app

REFRESH

button or running command with id

0

may also be needed in some cases after app updates where widgets become non-responsive and do not show any shortcuts and refresh buttons of the widgets itself do not work either.

You can also add a launcher shortcut or dynamic shortcut for any script file with an optional custom icon as detailed in

Script Icon Directory

.

Script Icon Directory (Optional)

The

~/.shortcuts/icons

directory stores the icon that will be used for a script when a launcher shortcut is created for it for version

>= 0.12

. The icon file name must be equal to

.png

, like

script.sh.png

. For a

1080p

~6in

screen, something like

96x96px

png

file should probably be fine, otherwise try

144px

or

196px

for higher resolution screens.

The parent directory of the icons must have read permission, otherwise the plugin will not be able to read them.

The icon file must be a regular file and its canonical path must exist under

~/.shortcuts/icons

or

~/.termux

directory.

Open a non-root termux session and run the below commands to create the directory and give it appropriate permissions.

Create

~/.shortcuts/icons

directory.

mkdir -p /data/data/com.termux/files/home/.shortcuts/icons chmod -R a-x,u=rwX,go-rwx /data/data/com.termux/files/home/.shortcuts/icons

The

chmod

command will set the

icons

directory permissions to

0700

, but any files already in the directory will be set to

0600

which is recommended.

Dynamic Shortcuts (Optional)

Dynamic shortcuts will normally show when long holding the

Termux:Widget

app launcher icon and in launcher searches results.

To create dynamic shortcuts, put desired scripts/binaries in

~/.termux/widget/dynamic_shortcuts

with the Termux app and then click the

CREATE SHORTCUTS

button in the

Termux:Widget

app in the dynamic shortcuts section. To remove published dynamic shortcuts, click the

REMOVE SHORTCUTS

button but this won't remove dynamic shortcuts already converted to launcher shortcuts.

For some launchers it might be necessary to regenerate the app shortcuts to display them correctly. Lookup the settings of your launcher to find such actions.

Max Shortcuts Limit (Optional)

Android has a limit on how many static and dynamic shortcuts can be created per app/activity, which is controlled by the

max_shortcuts

sub key of the

shortcut_manager_constants

key in

global

settings namespace. The default value is

5

on Android

>= 7.0

,

10

on Android

>= 10

and

15

on Android

>= 11

.

To check

max_shortcuts

value currently being used by android

ShortcutService

, run:

adb

:

adb shell "dumpsys shortcut | grep -E 'maxShortcutsPerActivity|mMaxDynamicShortcuts'"

root

:

su -c "dumpsys shortcut | grep -E 'maxShortcutsPerActivity|mMaxDynamicShortcuts'

To change the limit, check below.

Till Next Reboot

You can change the limit till next reboot with the

cmd shortcut override-config

command from an

adb

or

root

shell. For example to increase the limit to

25

, run:

adb

:

adb shell "cmd shortcut override-config max_shortcuts=25"

root

:

su -c "cmd shortcut override-config max_shortcuts=25"

To reset to default, run

cmd shortcut override-config max_shortcuts=

Permanently

You can change the limit permanently with the

settings put global

command from an

adb

or

root

shell.

The

max_shortcuts

sub key is stored in

settings

global

namespace under a single

shortcut_manager_constants

key as a comma separated list of

key=value

pairs. You can check the current/default values set with:

adb

:

adb shell "settings get global shortcut_manager_constants"

root

:

su -c "settings get global shortcut_manager_constants"

Now, since this is single key storing all the other sub keys, you can't just run

settings put

command to set a sub key value if the key value is already set, since it will overwrite all the existing values.

You should first get the default/current, then update or append

,max_shortcuts=25

to it and then put the joint value back with

settings get global shortcut_manager_constants ''

.

If the

shortcut_manager_constants

value is not set (by default it should be unset), then to increase the limit to

25

run:

adb

:

adb shell "settings put global shortcut_manager_constants 'max_shortcuts=25'"

root

:

su -c "settings put global shortcut_manager_constants 'max_shortcuts=25'"

To reset to default if no other sub keys set, run

settings delete global shortcut_manager_constants

Draw Over Apps permission (Optional)

For android

>= 10

there are new

restrictions

that prevent activities from starting from the background. This prevents the background

TermuxService

from starting a terminal session in the foreground and running the commands until the user manually clicks

Termux

notification in the status bar dropdown notifications list. This only affects plugin commands that are to be executed in a terminal session and not the background ones.

Termux

version

>= 0.100

requests the

Draw Over Apps

permission so that users can bypass this restriction so that commands can automatically start running without user intervention. You can grant

Termux

the

Draw Over Apps

permission from its

App Info

activity

Android Settings

->

Apps

->

Termux

->

Advanced

->

Draw over other apps

.

Creating And Modifying Scripts

You can create scripts in

~/.shortcuts/

and

~/.shortcuts/tasks

directories after following their

Setup Instructions

.

You can use

shell

based text editors like

nano

,

vim

or

emacs

to create and modify scripts.

nano ~/.shortcuts/some_script

You can also use

GUI

based text editor android apps that support

SAF

. Termux provides a

Storage Access Framework (SAF)

file provider to allow other apps to access its

~/

home directory. However, the

$PREFIX/

directory is not accessible to other apps. The

QuickEdit

or

QuickEdit Pro

app does support

SAF

and can handle large files without crashing, however, it is closed source and its pro version without ads is paid. You can also use

Acode editor

or

Turbo Editor

if you want an open source app.

Note that the android default

SAF

Document

file picker may not support hidden file or directories like

~/.shortcuts

which start with a dot

.

, so if you try to use it to open files for a text editor app, then that directory will not show. You can instead create a symlink for

~/.shortcuts

at

~/shortcuts_sym

so that it is shown. Use

ln -s "/data/data/com.termux/files/home/.shortcuts" "/data/data/com.termux/files/home/shortcuts_sym"

to create it.

Debugging

You can help debug problems like how plugin shortcuts and scripts are being parsed by the plugin or if the plugin is even firing etc by setting appropriate

logcat

Log Level

in

Termux

app settings ->

Termux:Widget

->

Debugging

->

Log Level

(Requires

Termux

app version

>= 0.118.0

). The

Log Level

defaults to

Normal

and log level

Verbose

currently logs additional information. Its best to revert log level to

Normal

after you have finished debugging since private data may otherwise be passed to

logcat

during normal operation and moreover, additional logging increases execution time.

The plugin

does not execute the commands itself

but sends an execution intent to

Termux

app, which has its own log level which can be set in

Termux

app settings ->

Termux

->

Debugging

->

Log Level

. So you must set log level for both

Termux

and

Termux:Widget

app settings to get all the info.

Once log levels have been set, you can run the

logcat

command in

Termux

app terminal to view the logs in realtime (

Ctrl+c

to stop) or use

logcat -d > logcat.txt

to take a dump of the log. You can also view the logs from a PC over

ADB

. For more information, check official android

logcat

guide

here

.

Log Levels

Off

- Log nothing.

Normal

- Start logging error, warn and info messages and stacktraces.

Debug

- Start logging debug messages.

Verbose

- Start logging verbose messages.

Worthy Of Note

Termux Environment

Termux does not load the environment fully for external plugins or

RUN_COMMAND Intent

commands, like setting

LD_PRELOAD

, so any

external

scripts which do not have shebangs to full path to termux bin directory will not work if called from inside your

plugin

scripts, since

libtermux-exec.so

is not called since

LD_PRELOAD

isn't set and you will get

bad interpreter: No such file or directory

errors. Simply setting

LD_PRELOAD

will not work either without starting a new shell. So make sure to set the shebangs correctly for any

external

scripts you want to run from inside your

plugin

script. The correct shebangs for termux scripts are like

#!/data/data/com.termux/files/usr/bin/bash

for bash scripts instead of

#!/usr/bin/bash

used in common linux distros. You can also use

termux-fix-shebang

command on the

external

scripts before running them with the plugin to fix the shebangs automatically or use

tudo

/

sudo

.

The

tudo

script can be used for running commands in termux user context and the

sudo

script for running commands with super user (root) context. You can call the

external

scripts in your scripts with the

path

command type of

tudo

/

sudo

. These scripts will load the termux environment properly like setting

LD_PRELOAD

etc before running the commands.

For Maintainers and Contributors

Check

For Maintainers and Contributors

section of

termux/termux-app

README

for details.

Forking

Check

Forking

section of

termux/termux-app

README

for details.
Download Termux:Widget (github version) APK

Fast, free and safe download.

APK Permissions 2

  • android.permission.VIBRATE
  • com.termux.widget.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

Frequently Asked Questions about Termux:Widget (github version) APK

This variant is built for devices that report `arm64-v8a, armeabi-v7a, x86, x86_64` as their primary ABI. If your device's CPU matches, this is the smallest, fastest version to install.

Yes — the APK's signature has been cryptographically verified against the publisher's signing key. The SHA-256 hash is shown in the File Information panel so you can independently confirm the file matches the original release.

Android 24 (API level 28) or newer. Older devices will refuse the install.

Install a free app like 'CPU-Z' or 'Droid Hardware Info' from the Play Store and look at the ABI / Instruction Set row. Most phones made after 2017 are arm64-v8a; if in doubt, download the universal variant.

All variants are functionally identical — same features, same version. They differ only in which CPU architectures the native code is compiled for, and (sometimes) which screen densities the included graphics target. Pick the one that matches your device for the smallest install size, or pick 'Universal' if you're unsure.