# Migrating theme to v0.23.2 'Variable page is not defined'

**URL:** <https://zola.discourse.group/t/migrating-theme-to-v0-23-2-variable-page-is-not-defined/2963>\
**Category:** Support\
**Created:** [August 11, 2026, 12:37pm UTC](https://zola.discourse.group/t/migrating-theme-to-v0-23-2-variable-page-is-not-defined/2963 "2026-08-11T12:37:05Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![hyperreal](https://yyz2.discourse-cdn.com/free1/user_avatar/zola.discourse.group/hyperreal/32/1637_2.png) [@hyperreal](https://zola.discourse.group/u/hyperreal)\
**Post date:** [August 11, 2026, 12:37pm UTC](https://zola.discourse.group/t/migrating-theme-to-v0-23-2-variable-page-is-not-defined/2963/1 "2026-08-11T12:37:05Z")

</div>

I’m trying to migrate a theme to Zola v0.23.2. I’m new to this so I’m not quite sure how to debug the issue I’m having. When I try to build the site with `zola build`, I get the following error: `Variable page is not defined. Available variables: config, lang, zola_version.` The file that has the error is `base.html`. The `page.html` file extends `base.html`. Could this be an inheritance issue? Why did it work before?

Is there a new way to access the `page` variable? I couldn’t find anything about it in the v0.23.2 changelog or migration notes. There is a `page.html` template for the theme but for some reason Zola isn’t registering it like it did with v0.22.1.

---

<div class="post-metadata">

**Author:** ![keats](https://avatars.discourse-cdn.com/v4/letter/k/34f0e0/32.png) [@keats](https://zola.discourse.group/u/keats)\
**Post date:** [August 11, 2026, 12:57pm UTC](https://zola.discourse.group/t/migrating-theme-to-v0-23-2-variable-page-is-not-defined/2963/2 "2026-08-11T12:57:21Z")

</div>

> [@hyperreal](#):
>
> Is there a new way to access the `page` variable?

Nope it’s still `page` it hasn’t changed. Are you on Windows by any chance?

---

<div class="post-metadata">

**Author:** ![hyperreal](https://yyz2.discourse-cdn.com/free1/user_avatar/zola.discourse.group/hyperreal/32/1637_2.png) [@hyperreal](https://zola.discourse.group/u/hyperreal)\
**Post date:** [August 11, 2026, 12:58pm UTC](https://zola.discourse.group/t/migrating-theme-to-v0-23-2-variable-page-is-not-defined/2963/3 "2026-08-11T12:58:17Z")

</div>

No I’m on Linux (CachyOS).

---

<div class="post-metadata">

**Author:** ![videbar](https://avatars.discourse-cdn.com/v4/letter/v/e480ec/32.png) [@videbar](https://zola.discourse.group/u/videbar)\
**Post date:** [August 21, 2026, 11:45am UTC](https://zola.discourse.group/t/migrating-theme-to-v0-23-2-variable-page-is-not-defined/2963/4 "2026-08-21T11:45:48Z")

</div>

I’m getting an error that may be related to yours. In my case it’s the `config` variable that is not visible inside a component:

```auto
ERROR Reason: error: Variable `config` is not defined. Available variables: main_title, page_title

```

Where `main_title` and `page_title` are the argument the component takes.

---

<div class="post-metadata">

**Author:** ![keats](https://avatars.discourse-cdn.com/v4/letter/k/34f0e0/32.png) [@keats](https://zola.discourse.group/u/keats)\
**Post date:** [August 21, 2026, 4:15pm UTC](https://zola.discourse.group/t/migrating-theme-to-v0-23-2-variable-page-is-not-defined/2963/5 "2026-08-21T16:15:18Z")

</div>

> [@videbar](#):
>
> In my case it’s the `config` variable that is not visible inside a component:

you need to pass it explicitly to the component [How to handle fully global context? · Issue #996 · Keats/tera · GitHub](https://github.com/Keats/tera/issues/996)

---

<div class="post-metadata">

**Author:** ![videbar](https://avatars.discourse-cdn.com/v4/letter/v/e480ec/32.png) [@videbar](https://zola.discourse.group/u/videbar)\
**Post date:** [August 21, 2026, 10:49pm UTC](https://zola.discourse.group/t/migrating-theme-to-v0-23-2-variable-page-is-not-defined/2963/6 "2026-08-21T22:49:59Z")

</div>

That was the issue indeed, I totally missed it, thanks!
