Jack Cannon is the fictional boy detective in the series written by Alice Tanner, the patient in the Season 7 episode Unwritten. He is seen as a figment of Alice's imagination, but is not a hallucination although Alice will often have conversations with him. She does realize he's not really with her in the room.
Jack is first seen at the beginning of the episode showing satisfaction that Alice has finished her most recent book. However, when he sees her trying to shoot herself, he implores her not too, but as she said, there's nothing he can do to stop her.
Later, we see him in the hospital having conversations with Alice.
We learn that Alice based Jack on her own son, who died in an automobile accident. She was injured in the same accident which eventually led to her syringomyelia.