Skip to content

Language Server fails to start on Android/Termux (missing native bindings) #251

@asemarafa

Description

@asemarafa

Summary
The GitHub Copilot Language Server is currently unable to start in Termux on Android. The process crashes during initialization because it tries to load native bindings for @vscode/policy-watcher, which are not provided for the Android platform.

Environment

  • Device: Android (ARM64)
  • Environment: Termux
  • Plugin Version: 1.397.0
  • Node.js Version: 25.2.1

The Error
When starting the server, Node.js outputs the following error to stderr and terminates:

Error: Could not locate the bindings file. Tried:
...
→ .../dist/compiled/android/arm64/vscode-policy-watcher.node
at bindings (.../node_modules/bindings/bindings.js:119:9)
at .../node_modules/@vscode/policy-watcher/index.js:6:25
at .../dist/main.js:1:398

My Current Workaround
In my fork, I have circumvented this by using a Node.js preload shim rather than modifying the bundled dist/ files.

Suggested Long-Term Fix
A better approach would be to make the loading of native modules conditional in the language server itself.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions