Skip to main content Debug and resolve common Gamma API errors.
Use when encountering authentication failures, rate limits,
generation errors, or unexpected API responses.
Trigger with phrases like "gamma error", "gamma not working",
"gamma API error", "gamma debug", "gamma troubleshoot".
npx skills add jeremylongshore/claude-code-plugins-plus-skills --skill gamma-common-errors ai automation claude-code devops mcp ai-agents
Gamma Common Errors
Overview
Reference guide for debugging and resolving common Gamma API errors.
Prerequisites
Active Gamma integration
Access to logs and error messages
Understanding of HTTP status codes
Error Reference
Authentication Errors (401/403)
// Error: Invalid API Key
{
"error": "unauthorized",
"message": "Invalid or expired API key"
}
Solutions:
Verify API key in Gamma dashboard
Check environment variable is set: echo $GAMMA_API_KEY
Ensure key hasn't been rotated
Check for trailing whitespace in key
Rate Limit Errors (429)
// Error: Rate Limited
{
"error": "rate_limited",
"message": "Too many requests",
"retry_after": 60
}
Solutions:
Implement exponential backoff
Check rate limit headers: X-RateLimit-Remaining
Upgrade plan for higher limits
Queue requests with delays async function withRetry(fn: () => Promise<any>, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
try {
return await fn();
} catch (err) {
if (err.code === 'rate_limited' && i < maxRetries - 1) {
const delay = (err.retryAfter || Math.pow(2, i)) * 1000; # 1000: 1 second in ms
await new Promise(r => setTimeout(r, delay));
continue;
}
throw err;
}
}
}
Generation Errors (400/500) // Error: Generation Failed
{
"error": "generation_failed",
"message": "Unable to generate presentation",
"details": "Content too complex"
}
Simplify prompt or reduce slide count
Remove special characters from content
Check content length limits
Try different style setting
Timeout Errors // Error: Request Timeout
{
"error": "timeout",
"message": "Request timed out after 30000ms"
}
Increase client timeout setting
Use async job pattern for large presentations
Check network connectivity
Reduce request complexity
const gamma = new GammaClient({
apiKey: process.env.GAMMA_API_KEY,
timeout: 60000, // 60 seconds # 60000: 1 minute in ms
});
Export Errors // Error: Export Failed
{
"error": "export_failed",
"message": "Unable to export presentation",
"format": "pdf"
}
Verify presentation exists and is complete
Check supported export formats
Ensure no pending generation jobs
Try exporting with lower quality setting
Debugging Tools
Enable Debug Logging const gamma = new GammaClient({
apiKey: process.env.GAMMA_API_KEY,
debug: true, // Logs all requests/responses
});
Check API Status const status = await gamma.status();
console.log('API Status:', status.healthy ? 'OK' : 'Issues');
console.log('Services:', status.services);
Error Handling Pattern import { GammaError, RateLimitError, AuthError } from '@gamma/sdk';
try {
const result = await gamma.presentations.create({ ... });
} catch (err) {
if (err instanceof AuthError) {
console.error('Check your API key');
} else if (err instanceof RateLimitError) {
console.error(`Retry after ${err.retryAfter}s`);
} else if (err instanceof GammaError) {
console.error('API Error:', err.message);
} else {
throw err;
}
}
Resources
Next Steps Proceed to gamma-debug-bundle for comprehensive debugging tools.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).