Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

GitHub tools `list_user_installations` and `list_app_installations` fail with app installation auth

Open
#110 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
github, typescript

Research direction

Start by tracing authenticateApp and the implementations of list_user_installations and list_app_installations, then reproduce both failures with GitHub App installation authentication. Compare each endpoint's required token with the token supplied by the tools; done means an agreed handling for incompatible authentication is implemented and both error cases are covered.

Written by the indexing model from the issue text.

Description

Problem

The list_user_installations and list_app_installations tools fail when using GitHub App installation authentication (the default auth method in scout-agent).

Errors

list_user_installations:

Resource not accessible by integration - https://docs.github.com/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token

list_app_installations:

A JSON web token could not be decoded - https://docs.github.com/rest

Root Cause

These two endpoints require different authentication than what authenticateApp() provides:

Tool Endpoint Required Auth What we provide
list_user_installations GET /user/installations User access token (OAuth/PAT) Installation token
list_app_installations GET /app/installations App JWT (signed with private key) Installation token

When withContext({ appAuth }) is used, the authenticateApp() function exchanges the app JWT for an installation access token. This works for most repository operations, but these two endpoints specifically need different token types.

Suggested Solutions

  1. Remove these tools from the default toolset when using app auth, since they're not compatible
  2. Add a separate auth path for list_app_installations that uses the raw JWT instead of exchanging it for an installation token
  3. Document the limitation so users know these tools require user token auth
  4. Throw a more helpful error when these tools are called with incompatible auth (e.g., "This tool requires a user access token and is not compatible with GitHub App authentication")

Reproduction

  1. Set up scout-agent with GitHub App auth
  2. Call either github_list_user_installations or github_list_app_installations
  3. Observe the errors above
Dominant language
TypeScript
Stars
165
Forks
20
Avg merge
24m
Merged PRs (30d)
1

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from coder/blink

All issues in coder/blink

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.