# Can't Update Project Title

**URL:** <https://forum.inductiveautomation.com/t/cant-update-project-title/108489>\
**Category:** Ignition\
**Created:** [July 15, 2025, 3:38pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489 "2025-07-15T15:38:17Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![anthony.justus.palme](https://avatars.discourse-cdn.com/v4/letter/a/bbce88/32.png) [@anthony.justus.palme](https://forum.inductiveautomation.com/u/anthony.justus.palme)\
**Post date:** [July 15, 2025, 3:38pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/1 "2025-07-15T15:38:17Z")

</div>

Hi all! Title pretty much says it all. I am trying to update the title of a project that is a few steps down an inheritance chain. Every time I try to save the project in the gateway, it fails. I tried playing with some of the solutions found [here](https://forum.inductiveautomation.com/t/cannot-update-any-project-properties-in-ignition-8-1-13/60166), but with no success. I'm on Ignition 8.1.45. Any help is appreciated. Thanks!

---

<div class="post-metadata">

**Author:** ![ryan.white](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan.white/32/73193_2.png) [@ryan.white](https://forum.inductiveautomation.com/u/ryan.white)\
**Post date:** [July 15, 2025, 3:39pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/2 "2025-07-15T15:39:34Z")

</div>

Any errors in your gateway log? Does it give you a message or an error when it fails, or does it just not change the project title?

---

<div class="post-metadata">

**Author:** ![anthony.justus.palme](https://avatars.discourse-cdn.com/v4/letter/a/bbce88/32.png) [@anthony.justus.palme](https://forum.inductiveautomation.com/u/anthony.justus.palme)\
**Post date:** [July 15, 2025, 4:45pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/3 "2025-07-15T16:45:07Z")

</div>

ProjectPushException: Modify illegal by the looks of it. Is there somewhere in the gateway settings that would block that?

---

<div class="post-metadata">

**Author:** ![ryan.white](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan.white/32/73193_2.png) [@ryan.white](https://forum.inductiveautomation.com/u/ryan.white)\
**Post date:** [July 15, 2025, 5:09pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/4 "2025-07-15T17:09:31Z")

</div>

Can you copy the full stack trace and paste it here as preformatted text? (expand the gateway log message, highlight, and copy) See [Wiki - how to post code on this forum](https://forum.inductiveautomation.com/t/wiki-how-to-post-code-on-this-forum/77831).

It might be your login doesn't have the required privileges or it might be a bug, the trace will help to identify which.

---

<div class="post-metadata">

**Author:** ![anthony.justus.palme](https://avatars.discourse-cdn.com/v4/letter/a/bbce88/32.png) [@anthony.justus.palme](https://forum.inductiveautomation.com/u/anthony.justus.palme)\
**Post date:** [July 15, 2025, 6:35pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/5 "2025-07-15T18:35:05Z")

</div>

```python
**com.inductiveautomation.ignition.common.project.ProjectPushException: MODIFY illegal, 'ProjectResourceId{resourcePath=ignition/global-props, projectName=ProjectA}' doesn't exist**
at com.inductiveautomation.ignition.gateway.project.BaseProjectManager.push(BaseProjectManager.java:524)
at com.inductiveautomation.ignition.gateway.project.IgnitionProjectManager.push(IgnitionProjectManager.java:241)
at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.editProject(ProjectRoutes.java:548)
at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.lambda$mount$2(ProjectRoutes.java:170)
at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:254)
at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:64)
at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:59)
at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:38)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:598)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1580)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at com.inductiveautomation.catapult.handlers.RemoteHostNameLookupHandler.handle(RemoteHostNameLookupHandler.java:121)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)
at java.base/java.lang.Thread.run(Unknown Source)

```

---

<div class="post-metadata">

**Author:** ![anthony.justus.palme](https://avatars.discourse-cdn.com/v4/letter/a/bbce88/32.png) [@anthony.justus.palme](https://forum.inductiveautomation.com/u/anthony.justus.palme)\
**Post date:** [July 17, 2025, 1:32pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/6 "2025-07-17T13:32:57Z")

</div>

Just wanted to bump this and see if anyone had any suggestions. The projects that I'm doing this on are only single-page projects, so I can just change the page title in the Perspective link section, but I'd rather set the project properties if possible.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 17, 2025, 1:35pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/7 "2025-07-17T13:35:07Z")

</div>

Give support a call or email, it sounds like this might be a bug that needs to be reported?

---

<div class="post-metadata">

**Author:** ![anthony.justus.palme](https://avatars.discourse-cdn.com/v4/letter/a/bbce88/32.png) [@anthony.justus.palme](https://forum.inductiveautomation.com/u/anthony.justus.palme)\
**Post date:** [July 17, 2025, 1:35pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/8 "2025-07-17T13:35:30Z")

</div>

I'll reach out. Thanks!

---

<div class="post-metadata">

**Author:** ![eddieczubinski](https://avatars.discourse-cdn.com/v4/letter/e/8e8cbc/32.png) [@eddieczubinski](https://forum.inductiveautomation.com/u/eddieczubinski)\
**Post date:** [January 21, 2026, 4:22pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/9 "2026-01-21T16:22:30Z")

</div>

Was a formal solution determined for this? I ran into the same issue. I was able to export the project, modify the title in the json file and reimport to get around the problem but it seems like it’s a bug that needs to be fixed. I’m also not sure if the way I “fixed” it could cause any other issues.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 21, 2026, 4:25pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/10 "2026-01-21T16:25:30Z")

</div>

Works for me on 8.1.52, so it may have been reported and fixed since this post.

---

<div class="post-metadata">

**Author:** ![eddieczubinski](https://avatars.discourse-cdn.com/v4/letter/e/8e8cbc/32.png) [@eddieczubinski](https://forum.inductiveautomation.com/u/eddieczubinski)\
**Post date:** [January 21, 2026, 4:32pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/11 "2026-01-21T16:32:27Z")

</div>

Got it. I’m on 8.1.50. I’ll upgrade and see if that takes care of it.

---

<div class="post-metadata">

**Author:** ![eddieczubinski](https://avatars.discourse-cdn.com/v4/letter/e/8e8cbc/32.png) [@eddieczubinski](https://forum.inductiveautomation.com/u/eddieczubinski)\
**Post date:** [January 21, 2026, 5:00pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/12 "2026-01-21T17:00:15Z")

</div>

![IgnitionError_PrjTitle](https://us1.discourse-cdn.com/inductiveautomation/optimized/3X/3/5/35d921a9634aa9dd90d4f5b1c5a845d0fd3f575e_2_690x28.png)

Upgrade did not fix it for me. I’m getting a ProjectRoutes warning in the wrapper log with the error saying the project doesn’t exist.

com.inductiveautomation.ignition.common.project.ProjectPushException: MODIFY illegal

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 21, 2026, 5:01pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/13 "2026-01-21T17:01:08Z")

</div>

Post the full error and stack trace here.

Also - how/where are you trying to change the title? I did it from the gateway projects page by editing that project.

---

<div class="post-metadata">

**Author:** ![eddieczubinski](https://avatars.discourse-cdn.com/v4/letter/e/8e8cbc/32.png) [@eddieczubinski](https://forum.inductiveautomation.com/u/eddieczubinski)\
**Post date:** [January 21, 2026, 5:07pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/14 "2026-01-21T17:07:21Z")

</div>

Changing it from the gateway projects webpage. xxx.xxx.xxx.xxx:8088/web/config/system.projects

Also, I had initially renamed the project as well. So maybe there is an issue if you rename the project and then try to change the title?

```python
com.inductiveautomation.ignition.common.project.ProjectPushException: MODIFY illegal, 'ProjectResourceId{resourcePath=ignition/global-props, projectName=Logan_Furn}' doesn't exist

at com.inductiveautomation.ignition.gateway.project.BaseProjectManager.push(BaseProjectManager.java:524)

at com.inductiveautomation.ignition.gateway.project.IgnitionProjectManager.push(IgnitionProjectManager.java:241)

at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.editProject(ProjectRoutes.java:552)

at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.lambda$mount$2(ProjectRoutes.java:173)

at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:284)

at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:66)

at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:59)

at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:38)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)

at org.eclipse.jetty.ee8.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1162)

at org.eclipse.jetty.ee8.servlet.ServletHolder.handle(ServletHolder.java:651)

at org.eclipse.jetty.ee8.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1374)

at com.inductiveautomation.catapult.filters.GatewayFilter.doFilter(GatewayFilter.java:73)

at javax.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)

at org.eclipse.jetty.ee8.servlet.FilterHolder.doFilter(FilterHolder.java:177)

at org.eclipse.jetty.ee8.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1348)

at org.eclipse.jetty.ee8.servlet.ServletHandler.doHandle(ServletHandler.java:454)

at org.eclipse.jetty.ee8.nested.ScopedHandler.handle(ScopedHandler.java:119)

at org.eclipse.jetty.ee8.security.SecurityHandler.handle(SecurityHandler.java:497)

at org.eclipse.jetty.ee8.nested.HandlerWrapper.handle(HandlerWrapper.java:108)

at org.eclipse.jetty.ee8.nested.ScopedHandler.nextHandle(ScopedHandler.java:183)

at org.eclipse.jetty.ee8.nested.SessionHandler.doHandle(SessionHandler.java:519)

at org.eclipse.jetty.ee8.nested.ScopedHandler.nextHandle(ScopedHandler.java:181)

at org.eclipse.jetty.ee8.nested.ContextHandler.doHandle(ContextHandler.java:885)

at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:152)

at org.eclipse.jetty.ee8.servlet.ServletHandler.doScope(ServletHandler.java:423)

at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:150)

at org.eclipse.jetty.ee8.nested.SessionHandler.doScope(SessionHandler.java:503)

at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:150)

at org.eclipse.jetty.ee8.nested.ContextHandler.doScope(ContextHandler.java:830)

at org.eclipse.jetty.ee8.nested.ScopedHandler.handle(ScopedHandler.java:117)

at org.eclipse.jetty.ee8.nested.ContextHandler.handle(ContextHandler.java:1443)

at org.eclipse.jetty.ee8.nested.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1290)

at org.eclipse.jetty.ee8.nested.HttpChannel.dispatch(HttpChannel.java:617)

at org.eclipse.jetty.ee8.nested.HttpChannel.handle(HttpChannel.java:460)

at org.eclipse.jetty.ee8.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2512)

at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071)

at org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)

at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)

at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)

at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)

at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)

at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)

at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)

at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)

at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)

at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)

at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)

at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)

at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)

at org.eclipse.jetty.server.Server.handle(Server.java:182)

at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677)

at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)

at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)

at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)

at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)

at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)

at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)

at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)

at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)

at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)

at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)

at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)

at java.base/java.lang.Thread.run(Unknown Source)

```

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 21, 2026, 5:14pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/15 "2026-01-21T17:14:35Z")

</div>

well... something must still be broken. Give support a call to report it. Maybe that never happened.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [January 21, 2026, 5:14pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/16 "2026-01-21T17:14:41Z")

</div>

> [@eddieczubinski](#):
>
> Also, I had initially renamed the project as well. So maybe there is an issue if you rename the project and then try to change the title?

Could be. If you restart the gateway (if you can) are you then able to change the title?  
Alternately, you can set the title in the designer I think?

---

<div class="post-metadata">

**Author:** ![eddieczubinski](https://avatars.discourse-cdn.com/v4/letter/e/8e8cbc/32.png) [@eddieczubinski](https://forum.inductiveautomation.com/u/eddieczubinski)\
**Post date:** [January 21, 2026, 6:51pm UTC](https://forum.inductiveautomation.com/t/cant-update-project-title/108489/17 "2026-01-21T18:51:50Z")

</div>

I tried restarting and it still didn't work. I ended up just making a new project with the correct name and title and importing everything from the original project.
