glanceapp/glance · error
page %d has no columns
Error message
page %d has no columns
What it means
Each page must contain at least one column; a page with an empty or missing columns list fails validation. Columns are the top-level layout containers that hold widgets, so a column-less page cannot render anything.
Source
Thrown at internal/glance/config.go:504
for i := range config.Pages {
page := &config.Pages[i]
if page.Title == "" {
return fmt.Errorf("page %d has no name", i+1)
}
if page.Width != "" && (page.Width != "wide" && page.Width != "slim" && page.Width != "default") {
return fmt.Errorf("page %d: width can only be either wide or slim", i+1)
}
if page.DesktopNavigationWidth != "" {
if page.DesktopNavigationWidth != "wide" && page.DesktopNavigationWidth != "slim" && page.DesktopNavigationWidth != "default" {
return fmt.Errorf("page %d: desktop-navigation-width can only be either wide or slim", i+1)
}
}
if len(page.Columns) == 0 {
return fmt.Errorf("page %d has no columns", i+1)
}
if page.Width == "slim" {
if len(page.Columns) > 2 {
return fmt.Errorf("page %d is slim and cannot have more than 2 columns", i+1)
}
} else {
if len(page.Columns) > 3 {
return fmt.Errorf("page %d has more than 3 columns", i+1)
}
}
columnSizesCount := make(map[string]int)
for j := range page.Columns {
column := &page.Columns[j]
if column.Size != "small" && column.Size != "full" {View on GitHub (pinned to 91324e8de7)
Solutions
- Add a columns list with at least one column (size: full or small) to the page named by its number
- Fix indentation so columns belongs to the page item
- If building pages via includes, ensure the included fragment contains the columns structure
Example fix
# before
- name: Home
# after
- name: Home
columns:
- size: full
widgets: [] Defensive patterns
Strategy: validation
Validate before calling
for i, p := range cfg.Pages {
if len(p.Columns) == 0 {
return fmt.Errorf("page %d has no columns", i+1)
}
} Prevention
- Scaffold pages from a snippet that already contains one full column
- After commenting out columns while debugging, grep for 'columns:' before deploying
When it happens
Trigger: A page entry with columns: omitted, columns: [] (empty list), or indentation that places the columns key outside the page item. Includes that produce a page without columns also trigger it.
Common situations: New page scaffolded with only a name; commenting out all columns during layout experiments; YAML indentation errors merging includes.
Related errors
- no pages configured
- page %d has no name
- %s widget: %v
- recursion depth limit of %d reached
- user has no name
AI-assisted analysis of glanceapp/glance@91324e8de7 (2026-08-15).
Data as JSON: /api/errors/97d4faebc7d0b981.
Report an issue: GitHub.