Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jeremylongshore/glean-common-errors
Diagnose and fix common Glean API errors including indexing failures, search issues, and permission problems. Trigger: "glean error", "glean not indexing", "glean search empty", "debug glean".
Passed 22 of 22 test cases with the skill, and 11 of 22 without it.
and 13 more in the full report
11 fixed11 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 11 test cases the skill fixed. Same model, same prompt, with and without the skill.
When Glean returns an HTTP 400 status with body 'missing required field: title', how does the classification helper classify this status code?
| Checked | Without skill | With skill |
|---|---|---|
| The classification logic categorizes status code 400 as indexing. | Missed | Passed |
The instructions your model reads when the skill loads.
Glean provides enterprise search across connected data sources with AI-powered results. API integrations involve two distinct token types (indexing vs. client) and a custom datasource model for pushing content. Common errors stem from token type mismatches, permission misconfiguration that silently hides documents from search results, and bulk indexing failures caused by duplicate upload IDs or oversized documents. Stale results are a frequent complaint -- Glean indexes asynchronously, so newly pushed documents may take 1-5 minutes to appear in search. This reference covers authentication, indexing pipeline, and search-time issues.
| Code | Message | Cause | Fix |
|---|---|---|---|
401 | Unauthorized | Invalid or expired API token | Regenerate at Admin > Settings > API Tokens |
403 | Wrong token type | Using indexing token for search API | Indexing API needs indexing token; Client API needs client token with X-Glean-Auth-Type: BEARER |
400 | uploadId already used | Duplicate bulk upload identifier | Generate a unique UUID per upload run |
400 | document too large | Document body exceeds 100KB limit | Truncate or split content before indexing |
400 | invalid datasource | Datasource not registered | Create datasource first via adddatasource endpoint |
400 | missing required field | Document lacks id or title | Ensure every document has both id and title fields |
403 | Permission denied | Document visibility restricted | Set allowAnonymousAccess: true or add user/group to permissions |
429 | Rate limit exceeded | Too many API requests | Implement exponential backoff; batch indexing calls |
interface GleanError {
code: number;
message: string;
category: "auth" | "rate_limit" | "indexing" | "permission";
}
function classifyGleanError(status: number, body: string): GleanError {
if (status === 401) {
return { code: 401, message: body, category: "auth" };
}
if (status === 429) {
return { code: 429, message: "Rate limit exceeded", category: "rate_limit" };
}
if (status === 403 && body.includes("permission")) {
return { code: 403, message: body, category: "permission" };
}
if (status === 400) {
return { code: 400, message: body, category: "indexing" };
test cases passed, vs 11 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.