Skip to main content
aether.host.invoke() provides direct access to Android-side operations that aren’t yet covered by the state API or service registry. Use it for app-specific tasks like sending messages, opening screens, or executing Alpine commands.

API signature

Host methods reference

MethodPurpose
app.getStateRead settings, sessions, draft, Skills, and runtime UI state
app.setDraftInputReplace the composer text
app.appendDraftInputAppend text to the composer
app.sendMessageSet optional text and submit, queue, or steer
app.newChatStart a new draft conversation
app.selectSessionSelect a session by ID
app.openScreenOpen "chat" or "settings"
app.pauseGenerationPause the current generation
app.setReasoningEffortChange reasoning effort level
app.setAgentModeToggle Agent Mode on or off
app.setModelSelect a model by key
app.notifyShow an Android toast notification
settings.getRead settings and providers
settings.patchPatch supported settings
runtime.executeExecute an arbitrary Alpine/Termux command

Code examples

Prefer the state API (aether.state.patch) and service registry (aether.services.invoke) for state mutations where supported. Use host methods for operations not yet covered by those APIs.
runtime.execute is useful for extensions that need to run shell commands as part of their logic without involving the main agent loop.